I think you have confused what the term "self hosted" means. Self hosted means that your application bundles its own web server with it, meaning there is no need for IIS/Apache/Nginx.
What you want to do is have a publicly accessible website at your home or business. What you need for that is a static IP address from your ISP (there are ways to do it with dynamic, but much better to use static), to configure your firewall to forward the appropriate ports to your computer (usually port 80 and 443), to configure your computer to use a static IP on your local network, make sure that you have a secure site (it's likely massively vulnerable) and to check your ISP's Terms and Conditions to make sure they'll allow you to host a site on their connection (most residential ISP services disallow it). You can use IIS on your computer, you don't have to self host it.
You'll also want a server edition of Windows to avoid the request limit.