Edit: obligatory explanation (thanks mods for squaring me away)...
What you see via the UI isn't "all that exists". Unlike Reddit, where everything is a black box, there are a lot more eyeballs who can see "under the hood". Any instance admin, proper or rogue, gets a ton of information that users won't normally see. The attached example demonstrates that while users will only see upvote/downvote tallies, admins can see who actually performed those actions.
Edit: To clarify, not just YOUR instance admin gets this info. This is ANY instance admin across the Fediverse.
Another way to be more private is to only federate upvote/downvote count, instead of the detail of the upvote/downvote. This is not only lighter but more private. When the count needs to be updated just broadcast the new upvote count.
But I see why they want to do it the current way, as it is more aligned with activitypub protocol, and allow other platform like mastodon to participate without problems.
I cannot think of much problem in implementing a "hidden upvote system" in activitypub. Basically, it will work like this:
user on instance A upvotes a post in instance B: instance A tells instance B the user upvoted the post, but not anyone else.
instance C trying to fetch a post from instance B: B will only communicate the upvote/downvote count, but not the detail
if instance C is not a threadiverse instance (like mastodon) it will show "xx number of upvote from B is hidden."