As you’ve phrased it, this seems to me to be a question of how to balance the rights of the developer versus those of the end user. The developer wants to monopolize commercial usage while the end user wants full control and authority on their machine.
Some would argue that the developer’s goals are unethical, but I think it’s an unfortunate consequence of a societal system that would see them starve on the streets if they didn’t earn with their work. In an ideal world, end users would prevail unquestionably, but so long as developers must operate under capitalism where ownership is critical, concessions will have to be made.
Running a server is very doable. There are packages to deploy and configure almost everything for you and removing a ton of headache.
Getting your email recognized as not spam by the major providers is pretty much impossible. You need all sorts of stuff to help verify integrity including special DNS records and public identity keys, but even if you do everything right, your mail can very easily get black holed before it even reaches a user’s inbox because of stupid shit like someone abused your rented server’s IP years ago, and you can’t seem to get it off everyone’s lists.
Email as a decentralized tool has effectively been ruined by spam and anti-spam measures. You’re effectively forced to use a provider because it’s near impossible to make your outgoing mail work as an individual. I think some of those anti-spam measures are anticompetitive, but I do think some are just desperate attempts to reduce the massive flow of spam.