@mariusor local recipients is another story. My internal database structure has nothing at all similar with ActivityPub, it instead follows user-facing presentation.
The primary problem I want to solve is that in Mastodon world, only the instance that hosts the post has a complete list of accounts that liked it. It's a bit better with reply threads, but boosts break everything, and, again, because of how mentions work here, only the OP instance has the complete threads.
@mariusor just to be clear. I don't have c2s and I don't plan to because it makes any semblance of a good client app impossible anyway. I treat my s2s ActivityPub inbox more like an API endpoint, and don't store the activities themselves — I instead apply them to my local state.