That’s what I do, along with running my own services. But either you run your own mail server, and the cost and complexity is prohibitive to most users. Either you outsource, and then all your data is still held hostage by a third party provider (though granted, any of the smaller players is likely to have some form of customer service).
If you use Thunderbird as your email client, you have all your data in an sqlite database on your computer, conveniently updated regularly throughout the day.
That's honestly nobody's problem but your own. Set it to autorenew or buy it for a longer period of time. I bought 10 years up-front for my own domain.
Namecheap is quite a popular place to buy domains, isn't it?
(myname).xyz - 10 years - £85.29 / $110.15
(myname).com - 10 years - £69.87 / $90.24
(myname).net - 10 years - £98.40 / $127.08
In a world where many people are not able to afford food for themselves[0][1], this is hardly an alternative. At minimum wage ($7.25[2]), a single domain name would take about half a month to earn, assuming you have no other outgoings, which is very likely not the case.
This. One tip I might have learnt from here is to renew a domain for the maximum allowed period (usually 10 years), and then make it a habit to renew it once a year, back to the full ~10 years.