Why do I need to be on the internet for my phones to register over a local network?

The easiest solution might be to use dnsmasq instead of bind, you don’t need the complexity of bind, dnsmasq sets up as a caching name server simply by putting your preferred dns servers in the dnsmasq.conf file and having your resolv.conf file prefer 127.0.0.1