Nostr has encrypted messages, but everyone on the relay can see who is talking to each other and how much they’re talking. To mimic ActivityPub semantics you can run your own relay and talk only with others on the same relay, but if more than two people use the same relay the third person can still see the encrypted messages. This is actually worse for privacy than running your own ActivityPub server. For example, on Gleasonator users can’t see each other’s DMs. On Nostr anyone can see the full relay. This is one disadvantage of the protocol.
(I’m not sure it’s an inherent limitation, because I think users could sign a message when requesting DMs from the relay, and the relay should only respond if their signature matches the public key they’re requesting messages for)