Actually you can bind to the same port on different addresses. For loopback you have the entirety of 127.x.x.x
My company blocks port 80 globally and I only learned about it through an internal service I configures. Which shows how little normal day to day traffic is http and port 80.
Also when the https topic came up, quite a lot of big hosters (shops, crms, website hosting) started to give you https which was NOT normal before.
setcap 'cap_net_bind_service=+ep' /path/to/program
But yes, until like the last 10 years or so. Also while it's possible nobody knows this information.
More interestingly, port 7475 (which is the most popular port besides 80 and 443) is set top boxes watching TV.
Reverse proxying is less common in wild IoT devices, network appliances, and certain kinds of enterprise/line-of-business apps... Surprisingly Microsoft IIS seems to be an exception in that area
Plus - Unless the client is outside of a browser context, you can drop an nginx instance in front of the service without the service having any clue.
Throw a load balancer in front and it's probably much more robust than a single service.
Honestly - reverse proxy support is one of the more magical parts of http.