If the router supports hairpinning, the IP request can be resolved locally.
The domain name lookup would be a different issue and could potentially need to be resolved externally, but the router's DNS cache should be able to answer eventually.
Depends. If the zone responsible for whatever resolves to that IP is hosted locally - then DNS request would stay local.
If the service behind that IP is running locally - then all traffic would stay local. Network stack would be smart enough to not run circles to find itself.
Yeah, the router ought to know that public IP belongs to a device in its own network unless you're doing stuff like running your own router behind an ISP provided router and just forwarding ports instead of maintaining IP assignment / routing tables