But please understand that Cloudflare has a cache eviction policy where infrequently visited files get dropped from the cache regardless of the Edge TTL set by your settings. So if you visit a low-visitation page, you might face lots of uncached images (those that are exclusive to that page), that will then be re-cached as the page gets more visitors.
That could help you. Make sure under Cache > Tiered Cache you have Tiered Cache enabled, as Cloudflare keeps cache on more than one of its 300+ datacenters depending on where the visitor came from. You may want to have a look at this script by @eva2000 that allows you to make calls to page test apis from different locations.
I’m not familiar with either Drupal or R2 to make any significant comment, but here’s the R2 blog announcement, see if it fits your goals: