As said by JFL, if you request the public IP mapped to your service, your packets will reach the router where the hairpin NAT is configured (most probably the Router between your LAN and the ISP), and then your internal server.
The difference between a request to the public IP and a request to the private one is that the packet flow will cross the router where the hairpin NAT is performed, rather than reaching the server through the best layer2 path, for instance (assuming you have 1 switch where your hosts and servers are connected):
- Public IP: end host->switch->router->switch->server (and back)
- Private IP: end host->switch->server (and back)
The main concern you could have is if the link between router and switch may become a bottleneck or not.
About DNS, it depends by the DNS server/s configured on your hosts. If your hosts have a public DNS (eg. 18.104.22.168), then your first request will cross the WAN link till the public DNS, then it will be cached for the time specified by the TTL field of 'example.test-server.com' record.
If your hosts use an internal DNS, like your internal router (if it does support DNS Relay/ Proxy DNS), all the requests will cross the LAN, and the router will resolve the first request externally, caching the entry till the TTL expires (in other words, the cache of a local DNS server/router will be used by all the hosts in the LAN).
Either way, the DNS bandwidth usage isn't something I'd be very concerned of.