The only way you can make a site visible to random people is to install WordPress online somewhere – perhaps in a sub-folder of a domain/site you already own. You can then upload any theme changes from localhost as – and when – you want to.
I was assuming that was possible, but I’m not sure how that would work in practice?
You end up with two different sites, local and public. The DB content does not need to match as long as the content is representative of what your plugin or theme needs. Continue to work locally. When you’ve accomplished the most recent task, upload your files via FTP to the public server to bring it up to date. You can then get feedback from others who can access the public site.
Of course, plugins and themes can also be used on any other WP site as well by uploading the files via FTP or the host’s file manager app. It’s important to stay organized or you will lose version control. Don’t do quickie changes to the public version, only change locally, then upload. Keep incremental backups in case you need to revert to a previous version.