You can still use a few dedicated servers on Hetzner though. They'll easily let you serve 200TB / month from each server for $100. It's obviously not comparable to proper CDN though, but it's does work for many companies.
Making objects in S3 publicly available and then complaining about their extortionate bandwidth charges is...silly.
But it certainly works if you need to CDN a bunch of large files.
Page rules are free if you only need a few, though.
For a commercial company paying $5-10 a month to save TBs of bandwidth via Backblaze & Cloudflare is a no brainer. It's just unfortunately not very workable for small projects. Github Pages works with Cloudflare for static sites just fine though.
S3 is very expensive, but averaging 4 gigabits 24x7 is not going to be cheap anywhere.
A normal upstream (if you were in a colo or some sort of DC) will charge you about $0.50 per meg. So, 4gbps would cost you... $200/mo. [1]
I think people don't realize just how much more expensive IaaS providers are. We're literally talking orders of magnitude.
[1] https://blog.telegeography.com/outlook-for-ip-transit-prices...
The big cloud providers are very expensive, but you're getting impeccable bandwidth. Low packet loss, burst what you want even in peak times, fast transit worldwide, minimal variability.
What most people actually don't realize is that they're making that tradeoff implicitly. You're not being ripped off if you need all of these things, but if it's overkill you can get much cheaper bandwidth elsewhere.