It only works because I get a public IP from my ISP. If that ever stops, this solution stops working too.
FWIW OpenVPN can use DNS names so you can use DDNS.
Point taken on the rest though. Everything you mentioned IS possible but the point that it's beyond most hobbyists is valid. I'm really wary of relying on a centrally managed pay service that is 'free' (for now).