shaunjanssensB
You’re missing the easiest option of them all: Cloudflare tunnels. You don’t have to open any ports, your friends don’t need to install extra software and it’s free. I don’t know about the TOS but I wouldn’t worry to much because it’s only a couple of friends.
For me it’s mainly the fun. I’m less privacy minded than other people here but I’m sure that I will be happy to own all my data at some point in time.
I’m using Cloudflare Applications (part of Zero Trust) for this. You can add multiple login methods (email, Google, Facebook, Github, ect) and also IP addresses. I think it’s also possible to accept someone when they request access. It’s very easy to set-up and will also prevent brute force attacks. You can protect a whole application but it’s also possible to protect specific paths.