Are you optimizing for a polished experience or for simplicity?
If for something polished that works very well, you've probably already found the best solution - immich. There's also Piwigo, Photoprism etc.
If you're looking for something simpler, can I suggest using syncthing (think: like a local version of Dropbox, sorta), with PiGallery2?
https://en.wikipedia.org/wiki/Syncthing
https://github.com/bpatrik/pigallery2
The idea here is that it creates a website that you can access on your Wi-Fi that is populated by the files that you push into the folder using your sync thing.
That's not as elegant as immich, but it's another option if you're looking for low-end hardware.
I am simpatico with her position.
For what it's worth, self-hosting doesn't mean you need to be able to reach all your services off-site.
LAN only access is perfectly valid and something that I prefer myself.
Case in point -
Last year I went to Japan for 5 weeks and rather than opening up dodgy ports to my home media services, I ended up taking a 128GB USB stick, my Chromecast and installing Nova Player.
https://github.com/nova-video-player/aos-AVP
Nova Player populates on device from your attached storage to create essentially a jellyfin like front-end. Install it, plug the chrome cast or whatever into HDMI on any TV and you're off to the races.
It's wonderful and it's actually now my primary streaming media source in the house; I just plug in my hard drive to my router, Nova sees it and my media sources are cross-populated to all of my Android devices.