You buy the domain(s), server(s) from any service providers, link them first. Then come over to Cloudflare and add your server ip in dns settings. Go to your service provider and update to Cloudflare nameservers. And no, CMS is your job.
Also I would suggest making sure if you do end up using Cloudflare, then follow this list to figure out if you need to enable/disable a subdomain or record’s Cloudflare status.