Another difference is how they handle federation:
- ActivityPub - if A and B don't communicate, then you don't see stuff from A in B or vice versa.
- Nostr - if A and B don't communicate, often you can still see stuff from A in B and vice versa - because both still communicate with C.
In practice this means Nostr is a tiny bit more censorship-resistant, at the expense of safety: as long as there's a chain of relays between the attacker and the target, the attack goes through. In the meantime you can create safe spaces with the AP by carefully selecting which instances you federate with.