I guess another solution is to calculate a shared secret between your public keys, and tag messages with its hash instead of the recipient's pubkey.
Then nobody knows who you're talking to, but you need to subscribe to lots of tags that might never message you. And the relay still knows who subscribe to the same tags.