I think just publishing the individual follow / un-follow (delete follow) is consistent with how most things work in Nostr. If I want to see all the replies to a post, I have to query relays to assemble that list, same to see followers (as you mentioned) or reactions to a post. It is a mess in some sense but I think it's a good model.

Reply to this note

Please Login to reply.

Discussion

We couldn't have an event with the list of replies if we wanted.

Also, replies are meaningful even before you collect all of them.

Furthermore, kind 1 text notes (which include replies) and kind 1111 comments cannot be edited or deleted (delete requests can be ignored and are ineffective if the note has spread to other relays). When you get a text note, you know it's valid. But if you get a "follow" or "unfollow" event, you don't know yet, because the user might have followed or unfollowed that account at a later time, invalidating that event, so you have to wait until you have all data for any of it to be valid.

There are cases where the whole follow list of multiple users can be needed, preferrably quickly.