If you know how to set it up, find your public IP Address, have enough RAM, and good internet connection, I personally think a dedicated server hosted on your own is the way to go.
The only hard parts are the Port Forwarding, and deciding how much RAM you should dedicate to the server.
Setting up Modded servers (forge or fabric server .jar files) aren't too different, and Spigot has an easy to find tutorial on their website if you can't figure the extra steps out.
The point of the server hosters are to make it easier for you. Personal server hosting isn't actually that hard, it just requires some time and understanding.
I actually set up servers all of the time just for fun (I for some reason prefer to play on a dedicated server instead of an integrated server (a Singleplayer world), even if I'm not playing with anyone), and I actually have a different server I host with one of my friends whenever we want to just have some fun building on a little creative world we have.