It seems to me like it should be technically feasible with only an initial handshake to exchange something secret which will then be used to encrypt the metadata. But I'm just spitballing.
Discussion
Yeah I just don’t know how the relay could relay DMs without exposing the npubs of both parties.
They would have to handshake and exchange a new (derived) npub that will be used for communication. Nobody would know who those npubs belonged to, so non-parties would see a single message from A to B after which they could communicate via private npubs. Like I tell you: DM me at npubXYZ, then you create npubABC and DM me over there.
Again I'm just spitballing, but seems plausible to me at the moment.