I disagree on that. Cloudflare does not work like “most CDN” its one of the few reverseProxy CDN services. Most other CDN really have push and pull zones where they spread new files to all over their POPs and the files then will stay there unless you delet them. No TTL. Some even offer to host these files inMemory. So no fallback to Disc. But even normal storage nowadays are mostly SSDs which are not by much slower then Memory unless you do not request it 10.000 times a hour (when the bottleneck are the IOPS)
So if its just up to static filehosting there are definitely better CDNs then Cloudflare. But you can use them side-by-side with Cloudflare if you host these files just on subdomains or even host them on completely different domains.
Cloudflare does not guarantee the files are keep on cache for as long as you set the TTL! Optimally they do, but its not guaranteed thats the point here. So OP is right with his statement.
Also this applies:
If a files gets cached it just gets cached in the requested POPs. So if it is cached for you this does NOT mean its cached for others! If now requested from a different POP AGAIN the origin have to deliver, there is no fallback to other CLoudFlare POPs/RAYs. (which sometimes makes much sense)
For “pro” plan very unlikely, maybe business but for just 20$ I think they will not include this. But I already thought about filing a Feature Request for “HighSpeed Caching”. Which will cache the requested files on ALL available Cloudflare POPs (RAYs) FOREVER untill you delete/overwrite it.
This should be paid for about 1GB = 5€/month… Like if you use 2GB then you have to pay 10€/month.
512MB maybe should be free for everyone.
But actually never a FR (Feature Request) here mad it so probably its wasted time.
But that would be a KILLING Feature for all other CDN Services if Cloudflare would offer this!