I'm currently on photoprism like you, but I am looking to switch to immich.
I solved the sharing problem by having a family-only instance locally (accessible via tailscale), connected via WebDAV to a public instance on a cheap VPS (which I also use for other things). We have to share twice, but I don't have any holes in my firewall. Currently I don't believe immich can do something like this, but I'd love to be proven wrong