s3 is a complex system, you could be hitting a different node with subsequent requests where this cache entry does not exist yet.
if you think egress is expensive, well storing data in RAM for cache purposes is 1000000x more expensive
a lot of stuff could be happening. Main problem is AWS (i think) is charging for egress out of S3 system, but customers are looking at their ingress at client side and there is mismatch