I, for one, greatly appreciate having CDN features cleanly separated from object storage. It makes sense, since they are completely different things.
The standard solution for any issue on Unix is to pipe the output to another service but very few people complain about POSIX.
Because they aren't incrementally charged for each one in according to an arcane and opaque costing schedule.
No, they just pay for the entire server whether they're using it to its full potential or not. Amazon's option is almost always cheaper.
The UNIX philosophy would call for a service that does one thing well. CloudFront is a CDN among other things and, in this case, a TLS termination proxy. I should be able to stack something onto S3 that just does the latter, because I may not need the costs or the hassle (to invalidate caches) of a CDN. But hey, it's a free county with lots of competition and Netlify and I think Azure lets you do this.