Cloudflare Tunnels is currently my recommendation for most people. Not only is it free, it will also manage DNS records and HTTPS for you very easily.
My main concern is that when it comes to self-hosting photos and videos, that's against the TOS for Cloudflare's free tier. If enough people start using it I assume they'll crack down. Bandwidth isn't free.
I'm not aware of many tunneling services that offer e2ee. My own boringproxy[0] does.
In any case, the MITM issue you mention is no different of a risk profile than storing your data on google drive or icloud, which is what most people are currently doing. Hosting through Cloudflare on a domain you own isn't perfect, but it's a big step in the right direction.
> But I am also not sure why I'd want to expose my photos and videos to the internet
I often share photos and videos with others, whether actually allowing them access directly through their device, or pulling images up on my phone to show them in person.
Not everyone stays at home 24/7. "Just" using a VPN of some sort means you a) need your mobile device connected to it at all times you wish to access your private resources, and b) can't be connected to some other VPN for privacy purposes.
My main concern is that when it comes to self-hosting photos and videos, that's against the TOS for Cloudflare's free tier. If enough people start using it I assume they'll crack down. Bandwidth isn't free.