Another vote for Linode. Everything I need, Multiple domains, E-mail for all family members and a buddy's business E-mail, and light web hosting run on a $5 Linode running basic vanilla Debian, exim4, dovecot, lighttpd.
Word of caution: If you're doing this to achieve resilience from the risk of big tech canceling your accounts and making your life difficult, moving to a VPS doesn't fully solve it. You're now at risk of VPS provider canceling your account and making your life difficult. Less likely than RandomCloudProvider, but still a risk. I'm currently experimenting with self-hosting on my own iron at home, to mitigate this. This is a bit more challenging, mostly due to your residential IP address having low-reputation among the E-mail system. It might be a good temporary fail-over solution for when you have to find a different VPS provider.
Of course home-hosting mitigates the VPS provider risk, but then you're at risk of your ISP canceling you. Unfortunately, it's "dependence on corporations" all the way down...
Bottom line, I plan to treat the rented presence the same way one treats a container - there will be persistent storage of all config and storage data elsewhere, such that the server can be abandoned and stood up somewhere else with no more data lost than whatever doesn't come in during standing up the new server. If I can manage it, I will encrypt all stored backup data before writing it to the bucket/block store, that seems like a reasonable target. Even rot-13, or whatever is the binary equivalent, will discourage lazy noses.
As far as backups, I have many terabytes of ZFS blocks here at home, and all cloud backups will be replicated back here. I wasn't actually aware of tailscale so I think that's going to be integrated into things pretty deeply lol.
I'm not planning to run my own email at all, just make sure that all my old emails and all my future emails end up stored on a server I control (ie. my zfs server at home, plus whatever redundant ones I might also have in the world).
It's a good point, however this can be easily rectified by having same node in sleeping mode at other provider. That's what I do for critical services. If provider A bans you for whatever reason, you can (reasonably)easy start same service.
And this just can't work if you are using conventional services like apple/google.