For starting newline, I am 100% agree with you.
On the other hand, for ending newline, I don’t want to remove it.
s = d"""
one
two
three
"""
assert s == "one\ntwo\nthree\n"
This string looks three lines. And line in POSIX includes terminal newline. (ref)
rstrip or backslash is ugly. But it is rarely used, only for creating ugly multiline string.
Of course this is my subjective opinion.
FWIW, C# and Swift remove last newline. Java and Julia keep last newline.