This comes up a lot, and I’ve come to terms that Obsidian may never have in-note referencing/transclusion like Roam. Perhaps someone in the far future will write a very complex plugin that embeds and tracks hidden identifiers, but as has been mentioned, there are a lot of caveats to this.
Another way to look at this is that referencing/transclusion is a relative unit. You can use Obsidian notes as Roam blocks and embed them into larger notes. I think there is an entire feature set required to make this doable, but that seems more achievable than trying to replicate outliner features inside of plaintext.