Well, yes you should do it this way, but it would cost you a decent amount of money for a dedicated server. Honestly, unless your game goes big, just host your own server and port forward it. Paying for a server is a bit of a waste if you only have a few people playing!
I tried this, this isn't a great idea. Just because it requires you to have your home computer on all the time, always connected to the network. Also you'd be violating (for most people I'd think) your ISP's ToS. You'll want some server space for an HTTP server as well eventually so you mid as well rent a server.
I've set myself up with DigitalOceans - while I haven't actually done anything with it yet (I've put JevaEngine on a hold till sometime in the next two weeks just because I am training for work etc...) it seems pretty decent.
The costs for the basic plan are cheaper than most monthly subscriptions.
If you host your server with your home computer you'll need to really double check the security since it's your personal life at stake rather than just whatever you have floating on a cloud.