Hello elansey
As you say multihomed DCs are not recommended, but I believe this is a supported configuration. From experience there are some things which can help in this environment...
Check the bind order of your network interfaces, make sure that the internal NIC is listed first
The DNS shouldn't have records for the public interface that is outside of the client network. Make sure that the DC/DNS doesn't have and doesn't listen on the external interface. To check that go to the external interface and disable the option "Register this connection's addresses in DNS" under TCP/IP advanced properties. Then from the DNS console make sure that only the internal interface is selected to listen for DNS queries.
Make sure that you don't have incorrect routes configured.
Check that clients point to the correct internal DNS server address ONLY, and that they can resolve the FQDN of the domain.
Check the underscore (service) records in DNS & ensure that they are correctly configured for the internal interface address.
Configure a forwarder on your DNS server to direct external DNS requests to your enterprise DNS infrastructure.
There are a few other steps which may help, but this should be a good start.
Cheers
Dan