In NAT mode the desktop client can connect and I can ping and successfully connect to things by IP but when I run nslookup it reports that the default DNS server is "Unknown" and lookups fail (although if I explicitly specify the correct DNS server the query is rejected anyway). Meaning nothing with hostnames will work.
is the right DNS server pushed out to the clients? is the setting picked up correctly by the clients? does the DNS server have a valid hostname associated with it? some clients refuse to use DNS servers that themselves do not have a host name
So can you use OpenVPN in this scenario? If so, how?
yes this is possible using bridging: bridge eth0 and tap0 and configure openvpn to use 'server-bridge' + 'dev tap0'.