To add to that, for atproto what's signed is the content Identifier (commit) of the new merkle search tree root, and not individual posts. So you sign off on changes of state to your entire history (which could represent the additional of a single post, but not limited to that).
Summary:
Nostr - Sign the note itself
Pubky - Sign DNS beforehand (and the note itself too if you want, but that might be seen as unnecessary)
Atproto - Sign the new state of your personal history
Farcaster - Sign the note itself (except unlike Nostr the "signers" are delegated)
Feels like something nostr:npub1h0uj825jgcr9lzxyp37ehasuenq070707pj63je07n8mkcsg3u0qnsrwx8 would make a good diagram for.