"These are essentially just relays with whitelists." Agree. That's why I use relay.tools which supports NIP-42. Nothing wrong with whitelists in my eyes when it works all the same. Let me control the userbase on my own relays. If I can't do it manually then I'll employ something more. For now I have no problem doing this manually, while everyone else suffers at the expensive of a freemium product. There are multiple solutions but everything requires due diligence.