Isn't this better than SimpleX Chat's protocol?
1. There wouldn't even be a queue to correlate messages on. Each message comes from a different random key.
2. Send and receive payloads can be separated in time (the receiver sees the DM immediately, but the sender logs the message, or better, a group of messages, in the future or the past inside Nostr relays).
3. As we add more private event kinds, the anonymity set increases. The public won't even know what is a DM and what's not.
4. Yes, anyone will see that you are receiving "things". But GiftWraps can wrap Noise (events that don't mean anything and should be discarded upon receipt). No one will know what's noise and what's an actual DM.