From what I've read (and I'm not a developer so I probably understand half of it, lol), the way the protocol is built makes it so metadata like that is always going to be in the open, and I guess there are ways to hide it like that, through layers, but I imagine it's always going to be a problem.
Honestly I think it would be a better solution -I read a suggestion somewhere- if they just eliminate direct messaging from the platform and people use some other E2EE messaging service.