Consistency also has a practical benefit, which is that I don’t need to memorize a new and different rule for the leading newline. I’m not trying to create a meta-debate here, but I don’t think this is a strictly “practical” trade-off.
I agree with you that I’d almost never want the leading newline. But I’d like to keep the same syntax which I already use for strings fed to textwrap.dedent to express it.
Similarly, as regards trailing newlines, adding a backslash escape in that context seems odd because it will mess with the typical rules for raw strings.
I’d like proponents of d-strings to think about what their first change in a shared codebase to use d-strings will look like to their reviewers, who never saw this discussion and expect multiline f-strings, raw strings, and unadorned Unicode strings to all act similarly.
Will your reviewer be able to read the change and reason correctly about the whitespace after being told “d-strings dedent”? If you make a mistake, will your reviewer be able to catch it?
I see each of these little inconsistencies as minor, but the less it acts like the rest of the language, the less we’ll be able to reason about it consistently and accurately as a whole community.