The lesson I learned is it's OK to put your site with Cloudflare. It's not ok to put your DNS on a registrar who is also on Cloudflare. We got locked out because our registrar is also on Cloudlfare, and now I can't even switch DNS to get the site back up. Keep your domain name registrar, DNS service provider and application infrastructure provider separately.
Fair point but you also get exposed if the dns provider has an outage. Self hosting will also bring its own set of problems and costs.
You can also separate your DNS provider from your registrar, so that you can switch DNS providers if your registrar is still online.