Would satellite on-board caching be possible? Could you cache, for instance, the most frequently requested cat photos currently on reddit? You would be able to bypass half of the round trip
Possible, yes, practical, no. In general, you want the least complexity as possible in the payload, since you can't fix it as easily as you can with ground bugs. Also, memory that's space-hardened is going to be significantly more expensive and failure-prone, so you need a lot of redundancy.
AFAIK Verizon is doing something similar with edge compute in their 5G towers/data centers. If Starlink gets big enough, I'd expect them to do the same. However, I think it's much more likely for Starlink to put the edge compute/cache at the Starlink ground stations, rather than in the satellites themselves. I think the tech/cost still isn't good enough to have significant compute on a satellite.