Is it possible to do DNS resolution based on connection?
DNS resolver always consults local /etc/hosts file before sending DNS query to configured name server (see details in How does Android OS do DNS name resolution?). So this approach cannot work based on connection.

The possible method is to run a DNS server on that specific network and configure DHCP server (mostly your router) to send local DNS server's IP address in response to DHCP requests. Configure DNS server to always resolve a domain name to a fixed IP. Or you may resolve the domain name to required IP using a VPN app temporarily (it's less hassle than editing hosts file every time). See linked answer for details.