Nothing stopping you to decouple both registrar and dns hosting. Its like people doesn't realize it could be done. Wanting to use cloudflare dns doesn't mean you got to transfer your domain to them, just change nameserver of your domain at whatever registrar you use to cloudflare nameserver.
Hell you could selfhost your domain zone yourself if you wish so.
Buy from any registrar then use cloudflare as dns hosting. Cloudflare support wildcard catchall email forwarding for free.