Why does the fediverse not have a privacy control to limit who can see and interact with your posts?
Because of the way the protocol works.
There is no way to accomplish this is a publicly federated network without trusting the portals people use and/or creating some sort of public key exchange on friend requests.
This results in privacy breaches being as simple as compromising one node, or writing some code to make a node hostile.
The key idea would be basically when you friend/follow someone you send them your public key, they keep a list of keys and encode/individually send followed messages to people. Very onerous.
I don’t know what mechanism they use, but I have a hunch that if you allowlist one user from an instance, the instance owner could potentially see the stuff. Not just your own instance owner.