Hetzner is cheaper unless you are serving a sizable asset with R2. R2 costs per call. That cost is more than most web bundle size assets will be at Hetzner egress pricing.
And they aren't even comparable to normal object storage, since data is protected by a single raid cluster.
If you're in the same region, another DNS lookup is going to be more costly than a CDN will be worth in proximity.
Using a CDN for static assets for North America just doesn't seem worth it to me.