I left AWS in 2019, so my knowledge on the current recommendations & pricing is dated. But even back then we were strongly discouraging usage like this for S3 for both security and cost reasons. Cloudfront should be in front of your bucket serving the objects, and IIRC it’ll be 75% cheaper in most cases. Still doesn’t bring it within even a couple of orders of magnitude of the R2 price, but this comparison does feel like it’s painting a best case versus a worst case. And the worst case being an approach that goes against best practice recommendations that are at least half a decade old at this point (I will concede people absolutely still do it though!).