@Lolonois Good ideas!
Did you consider to use sshfs [1] for mounting the image/video folder from the main Pi into the PiZero2W? That way you don't need to maintain a cache at the PiZero2W.
I didn't consider sshfs, I started with the idea of a cache from the start to speed up the display. My thought is it will always be faster to read a file locally than over wi-fi, or spi. As a USB-peripheral there may be a low enough lag to skip the cache.
Another idea, albeit more complex, as the current setup assumes the Pi's can reach each other via wireless, right?
It does. However my first idea was to run the zero as a stand alone access point and only connect RetroPie to its network. (My router sits on top of my arcade cabinet so RetroPie is connected via Ethernet and doesn't need wi-fi to scrape or connect to) I didn't implement idea yet for speed to get it working in the first place and I figured that would be an edge use case at best.
You may also run the PiZero2W as USB-peripheral to the main Pi, connected via an straight USB-A to MicroUSB-B cable (and powered from the main Pi). With some configuration the PiZero2W is set into gadget mode
That's actually a great idea! I setup a a ZeroW to be a networked thumb drive to run my SLA 3D printers a long time ago and they're still running great. That would simplify wiring and power supplies.
Only problem in my case is lack of USB ports. I have an arcade deck, trackball, USB SSD, and a 4 port hub mounted to the front to allow plugging in other controllers like NES, SNES PSX ect. (With the USB keyboard and mouse dongle plugged into that). I don't have a free port without adding another hub or taking cables outside the cabinet.