So I set a page rule that covers my whole site and enabled Origin Cache Control, and now it seems to work. I can’t believe the default behavior overrides your cache-control headers, is that really the case?
Yep, I read both of those. As you mentioned the first is only about static content. The second implies that CF normally overrides the Cache-Control header, but I can’t find that explicitly stated anywhere.
I’m not a cache header expert, so I’ve never experimented with this, but it sounds like Cloudflare picks the longer expiration time.
if the Cache-Control header on the response from the origin server is less than the TTL described in the “Browser Cache Expiration” setting
I mentioned cf-cache-status, but that’s for Edge Cache, not Browser Cache. And this is where I really lose track of how origin cache headers affect Cloudflare’s cache settings.