You just add the domain to the site in Netlify, but then set up the hosts as CNAME in cf pointing at the codenamed Netlify hostname for the site.
I’m on the cf free plan, and the whole setup works great.
Cloudflare could probably take the whole stack though if they gave me a simple tool to upload a directory of files to them.
(I stopped using Netlify for builds when I started moving my repos off of GitHub due to GitHub’s collaboration with ICE, and Netlify only supports the major git services for autobuilds. I self-host my repos with Gitea now, so I have to build on my Drone server and just use the Netlify CLI in the last CI step to upload the built site.)