Continued from original comment
Yes, you should configure your WS2012 server to act as DNS and DHCP server on your network if possible to do so. The reason why names are not working properly might be due to the fact that the VPN clients could have the DNS settings from their ISP, so when they try to resolve machine names that are on the LAN the external DNS does not know what to point to. If you have DNS and DHCP running on the same server, the two services will communicate when DHCP requests are made. I have not attempted to do this in a non-windows domain environment before, but this should resolve your issue. Your router is not going to have any clue regarding IP/hostname mappings because it is just handing out addresses to anyone who requests one on your LAN.
You will also want to configure DHCP to use the DNS domain suffix of the domain (if you have one) so each machine will be addressable via machinename.yoursuffix.goes.here.net.
Is there any possibility you could test this in a separate environment before implementing? I would have to have you go though the trouble just to find out it does not work - but I am pretty sure it will.
May I ask why you are not currently running a Windows Domain?