aad First I'd like to answer your second question. I can't ensure every site is using Cloudflare, but that's how I've set it up, and I'm not running custom NS anymore, so customers have to have their own DNS like Cloudflare or Bunny, etc... Typically during onboarding a customer we'll setup Cloudflare for them as part of the migration process, if they don't already have Cloudflare. We sell a premium product, which has budget for that extra hands-on work. For mass shared hosting, it wouldn't be possible to enforce Cloudflare, and the pricing wouldn't afford the hands-on support to be able to do that.
For the 1st point, the issue people run into thinking about using Cloudflare on their hosting domain + having custom NS on the same domain is that they think setup of NS requires having glue records "in the dns", which is wrong, glue records aren't in the DNS, it's a different thing controlled by your domain registrar.
In Namecheap for example, you'd go to the Advanced section in your domain settings, then at the bottom they have this section, this is where you set your glue records:
In that section you'd add your "glue records" like ns1/ns2, each pointing at your NS IP's.
Then over in your Cloudflare DNS you'd set two A records that match those glue records:
A ns1 111.111.111
A ns2 111.111.112
Boom, now your NS is ready to go as far as the domain/dns settings go - the other part is configuring them in your Enhance cluster, then making sure you have at least 1 domain in your cluster using those NS. It will just start working.
Something else I see tripping people up, for some reason they confuse their domain's NS with the custom NS. Your domain doesn't need to have its NS set to use your custom NS/glue records. So in Namecheap (or any other registrar), you'd have your domain's NS set to point at Cloudflare, so you can use Cloudflare services and have your main domain's DNS there. Setting your Nameservers in Namecheap is in the "Domain" section of the domain settings, here:
So you set your domain's NS to point at Cloudflare, you set your glue records to point at your NS servers, you add A records in your DNS at Cloudflare that point at your NS servers.
Absolutely no need to upgrade Cloudflare just to add glue records capability. If your domain is registered at Cloudflare, then you're screwed because they don't have glue records unless you pay, so you need to transfer your domain to a proper registrar that has all records available.