App Engine annoyingly mangles headers on HTTP responses to admin users to disable caching. It does this intentionally since those responses have X-AppEngine-Resource-Usage and X-AppEngine-Estimated-CPM-US-Dollars headers, but it means that browsers don't cache cover images or MP3s (I think -- Chrome seems to cache media files so aggressively that I wouldn't be surprised if it ignored what the server tells it).
I filed https://issuetracker.google.com/issues/179471500 but I assume I won't even get a reply.
I haven't figured out any workarounds yet. Maybe I could use Cloud Load Balancing to re-add the headers, but that seems like overkill.