Okay,
I figured this out, but the scripting will take a bit of time. To get this working, you have to leave the PrimaryService untouched and create a secondary service ( OpenVPN is already being created ). I created a second service will a /DNS key. That wasn't enough for it to pick up a second resolver. In order for that to happen, you need your own service with a /DNS key and a /IPv4 key. Once you do that, then an `scutil --dns` will show what I'm looking for!
The only thing I am worried about is that the 'State' subsection of the config database really likes GUID's. I can generate that on OSX via the command line with `uuidgen`, but I'm not sure how reliable that is on all releases of OSX.
Now, I can ping freely and I have multiple resolvers showing up. [ Much Dancing Ensued ]
Manually, I had to run:
sudo scutil
open
d.add SupplementalMatchDomains * domaina.int domainb.int domainc.int
d.add SupplementalMatchOrders * 100000 100000 100000
d.add ServerAddresses * dns.server.ip.addr
d.show
set State:/Network/Service/D1B8B972-4B47-424E-80B6-B56665D0C3EB/DNS
d.init
d.add Addresses * my.vpn.client.addr
d.add DestAddresses * my.vpn.client.serv # internal
d.add InterfaceName tun0
d.add NetworkSignature VPN.RemoteAddress=vpn.example.com
d.add Router my.router.ip.addr
d.add ServerAddress ext.vpn.service.ip
set State:/Network/Service/D1B8B972-4B47-424E-80B6-B56665D0C3EB/IPv4
Once I did that, I could ping freely around the VPN and everything worked great with my ( now working ) split DNS :)
--Scott