No, you don't have to at all. 
You should always use a proxy between the outside world and your node-red based services.
UIBUILDER recognises common proxy authentication headers so that you can use them in your front- and back-end (node-red flows) processing to limit access however you like.
My recommendation, especially if you aren't familiar with Internet proxies and cyber security, is to use a service such as Cloudflare's Zero Trust service. This provides a cloud proxy along with authentication and authorisation capabilities. It has a generous free tier and it does not require you to make changes to your local firewall or network. There are other similar services.
If you want to DIY, then something like the NGINX web server acting as a reverse proxy along with a suitable user authentication server is what you will want.
Even without user authentication, you can easily configure a reverse proxy to ONLY allow internet access to a UIBUILDER endpoint. And, of course, unlike the Dashboards, UIBUILDER lets you create MULTIPLE endpoints very easily. So you could have some with user authentication and some without. Or you could use the same authentication but have different authorisation. The choice is yours.
Whilst this is true - and another reason for wanting to use the Cloudflare ZT service as anti-DDOS is built into their offerings. It is the absolutely least of most people's worries. Large-scale DDOS attacks are not easy to do and attackers would not bother to attack some random person on the Internet with DDOS - automated hacks, sure, but not DDOS. You would have to be presenting information that someone was actively interested in. Perhaps a political site against a rogue government, or outing some hacking group for example. And in any of those cases, you would be foolish indeed to use your home network for that!
It will, if correctly configured. I still would not expose the Node-RED Editor though. I certainly don't. Though I do have a secret way to remotely turn on remote access to the Editor should I ever need to. But it is left turned off and uses a very obscure, but still secured, mechanism that lets me turn it on/off as needed (I never have needed to).
A well configured Node-RED flow set really should not need interventions. If you need some limited external controls, use a Telegram bot or something similar.