I have a server with 2 NICs. One of them is connected directly to the internet (it's on public IP)
The other NIC has a private IP and connects to our router which is connected to the internet also (different public IP)
Now, this server has been setup to be a domain controller and has the DNS role on it.
I noticed that after the DNS role was activated, both NIC DNS setting were changed to 127.0.0.1.
That server's routing table (route -4 print) shows EQUAL metric to both NICs.
The DNS role once activated is in its default settings
Does each NIC having DNS set to localhost could cause any problem ? What I wanted ideally is only the NIC with the private IP to have 127.0.0.1 as its DNS server IP ?
The other NIC is only a way to get inside that network should the router fail somehow.
Your DNS server needs to be authoritative for your local domain. Set the "router" NIC to use itself as its DNS server (ie. its internal IP, not localhost). You also didn't mention setting up DNS forwarders, so make sure you do that or your users will complain that "the Internet is down." This really means that your DNS server is not forwarding their DNS requests to the next appropriate DNS server in the chain.
With that out of the way, I'm seconding the concerns with a web-facing domain controller. This is an immensely bad idea, and this is not how you perform out of band access. Your domain controller is the inner keep of your castle (network), and you must protect it appropriately. Never expose it to the Internet, for any reason. Do not forward ports to it. It should be completely impossible to route to it from the Internet. If I can ping your domain controller, you are doing something wrong. Is the message clear yet? This is not negotiable!
If you want out of band access on a shoestring budget, set up a workstation or similar in the same position as where you were going to put your domain controller. Add the second NIC, then harden the living daylights out of it. Add firewall restrictions to allow only a handful of known IPs, like your house, and keep it patched. Good luck.
TL;DR: Don't multihome a DC, don't put a DC on a publicly accessible IP address, don't do both things at the same time. But if you still want to do these things, at least be sure you really know what you are doing.