Have you reached out to your ISP to see if they can give you a dynamic public IP? I recently swapped to a new ISP that was using CGNAT but after contacting their support team with my use case, they were happy to set me up with a public IP so I could continue my self-hosting.
I’ve been daily driving Hyprland for almost a year now I think, my only complaint is that some of my electron apps act out a little bit (Discord won’t open links, etc). I don’t game as heavily as I used to, but I regularly am running Overwatch 2 around 200 FPS with no issues, and Bauldur’s Gate 3 is super smooth as well.