There's a difference between ignoring freshness when we have data versus ignoring it when we do not. One allows a read to succeed where it may otherwise not (because of network issues, for example). The other (returning ENOENT) masks a failure without doing any service to page delivery succeeding.