{sigh} so, there’s a lot going on here. The good news is it looks like I was able to figure out the issue, although I don’t understand how it happened.
To address @fmon and the router issue: I have an Asus RT-AC68R. It is a relatively modern router and continues to be officially supported by Asus (their most recent firmware update was a few weeks ago, and I applied it to my router around that time). There is also an active open-source third party firmware (Asuswrt-Merlin) that still supports my router model. I mention this because it turns out that lack of configurable NAT loopback support is apparently a known issue for basically all Asus routers. The feature used to exist, but at some point it was actually removed (in both the official Asus firmware and the Merlin firmware). Googling the issue gets a lot of hits, and a good example can be found at this forum post here. Ironically, at the end of this post is a Home Assistant user pleading with the posters for a solution because they could not access their HA instance from within their local network.
In any event, my router isn’t too old for this feature, and it is not lacking in other areas. It is extremely odd that Asus removed support for NAT loopback, but it seems as though every modern Asus router will have this issue. It’s also a bit ridiculous that the only solution for this limited issue – that only impacts my use of the Home Assistant mobile app within my local network and nothing else – would be to purchase new hardware. I expect that kind of solution from Microsoft or Apple, not Home Assistant. And again, the mobile app seems to have configuration options for this exact issue, and at first glance it certainly appeared (see below) as though the issue was due to the app not allowing me to ignore the certificate warning when using my Internal URL.
While doing some additional searching this evening, I attempted to access my HA External URL from my PC. I was expecting nothing (similar to what I was getting with my mobile app). However, I actually got something: a very simple “403: Forbidden” error. This told me I actually was reaching my HA server, via my External URL, while inside my local network, and for whatever reason HA was rejecting my traffic. Some Googling got me to this forum post about the forbidden error – somehow HA had banned by router’s IP, preventing me from using my External IP within my local network. Initially, it did not seem like the mobile app was reporting the 403 error – I would get a certificate warning and then nothing would happen. But it looks like the 403 error may actually have been there…it’s just that my app is in dark mode, so it was displaying dark gray text on a black background, making it nearly impossible to see (once I suspected it might be there, I was able to see it by highlighting the text).
I checked my ip_bans.yaml file and the IP of my router was listed. I removed it and restarted the HA service, and voila! – success. My mobile app is working again (using the External URL). Based on the various forum posts regarding the sudden 403 error, I will probably disable the IP ban feature if it happens again, as I don’t know why my router IP was banned.
So in my case, perhaps a suggestion to the mobile app devs about an update that ensures error messages will not be displayed in dark text on a dark background might be the best “solution” for now
It still seems odd, however, that the Internal URL feature does not seem to work here. Is it because it will not allow the user to ignore a certificate error? Something else?