Yeap, this kinda bothers me as well. If I do remember right this is a markdown thing, not really an Obsidian thing.
I had the same doubt but in my case I wanted a space between headings, not a line break: How do I restart a paragraph? I wanna have line breaks between headings
In my case I ended up using $~$(an empty equation) or 
 and both codes render a line break on Obsidian, regardless of the theme, so I don’t have to mess with CSS.
But as you’d expect, these have no effect between headings:
## Heading1


test


## Heading2
Makes “test” a child of H1, as it will with a separator or other smaller headings.
It feels awkward to me not to have an option to have trailing content between headings of the same kind, but this doesn’t seem to bother many. Paired with the heading fold thing, it would make sense to me to have cosmetic separators (as your line separator) or even some text that shouldn’t get collapsed even when all headings are (a text block that behaves like top heading).