Use normal Pages and Pages Custom Domains. Works fine until up to limit (free 100, pro 250, biz 500, ent 500 but raisable). There's an api you can use to add custom domains.
Use CF for SaaS and a Worker as Origin proxying to pages, and then the CF for SaaS API. You'd have to pay for every request as a worker invocation though
then yea you'd be paying for the worker invocation to handle the proxying to pages and then the pages function invocation if any. Standard billing is based off requests + cpu time so the proxied requests would have very little cpu time at least