I would need to check at database level, but I guess on the subscribing side it is only a list of communities to display? The real "work" for subscriptions happens on the remote instance to decide with activities to send.
But that indeed raises the interesting point on how to retain subscriptions of remote users. Anyone got an idea how that is handled on database level? Is it just the same list but for the non-local users that are mirrored in the database?