Make mDNSResponder use local DNS server?
I think mDNSResponder - with a running PCF Dev VirtualBox VM but no LAN/WLAN - is missing a default gateway or gets the wrong one. If your interfaces aren't connected or all interfaces are inactive then no default gateway exists.

You can check this with:

netstat -r -f inet
Routing tables

Internet:
Destination        Gateway            Flags        Refs      Use   Netif Expire
127                localhost          UCS             1        0     lo0
localhost          localhost          UH              5     1380     lo0
192.168.11         link#7             UC              4        0 vboxnet
224.0.0            link#1             UmCS            2        0     lo0
224.0.0.251        link#1             UHmWI           1        0     lo0


To circumvent this you can do the following:

Requirement: a proper configuration of dnsmasq as published in your q &amp; my a. You may have to deactivate all interfaces.

Duplicate a Location profile in System Preferences > Network and rename it to e.g. pcdev with VLAN.

Choose an interface (e.g. Wi-Fi) in the left pane and hit the gear at the bottom of the left pane > Manage Virtual Interfaces.
Hit the ⊞-button and add a "New VLAN...". Rename it to VLAN, choose 1 as tag and an interface.

Configure the interface: Manually with an arbitrary but unused IP e.g. 10.228.8.226/Mask 255.255.0.0/Router 10.228.0.1 and DNS-server 127.0.0.1. Apply the settings with the button Apply. IP (+ Mask) and Router have to be in the same network.

Check the routing table again. First it will look like this:

netstat -r -f inet
Routing tables

Internet:
Destination        Gateway            Flags        Refs      Use   Netif Expire
10.228/16          link#8             UC              2        0   vlan0
127                localhost          UCS             1        0     lo0
localhost          localhost          UH              4     1380     lo0
192.168.11         link#7             UC              2        0 vboxnet
224.0.0            link#1             UmCS            2        0     lo0
224.0.0.251        link#1             UHmWI           1        0     lo0


but after a few seconds (up to 40 seconds in my environment) it should be populated:

netstat -r -f inet
Routing tables

Internet:
Destination        Gateway            Flags        Refs      Use   Netif Expire
default            10.228.0.1         UGSc            3        0   vlan0
10.228/16          link#8             UCS             2        0   vlan0
10.228.0.1/32      link#8             UCS             2        0   vlan0
10.228.0.1         link#8             UHRLWIir        4        0   vlan0     18
10.228.8.226/32    link#8             UCS             2        0   vlan0
10.228.255.255     ff.ff.ff.ff.ff.ff  UHLWbI          1        3   vlan0
127                localhost          UCS             1        0     lo0
localhost          localhost          UH             26     1494     lo0
192.168.11         link#7             UC              3        0 vboxnet
192.168.11.11      8:0:27:35:78:e2    UHLWIi          2        3 vboxnet   1192
192.168.11.255     ff:ff:ff:ff:ff:ff  UHLWbI          1        3 vboxnet
224.0.0/4          link#8             UmCS            3        0   vlan0
224.0.0.251        1:0:5e:0:0:fb      UHmLWI          1        0   vlan0
239.255.255.250    1:0:5e:7f:ff:fa    UHmLWI          1        3   vlan0
255.255.255.255/32 link#8             UCS             1        0   vlan0


Now try again to ping api.local.pcfdev.io/tcp.local.pcfdev.io/local.pcfdev.io. 



While testing I got the impression that some arbitrary IP pinging (ping 192.168.11.11, ping 127.0.0.1 accelerated the reconfiguration).



If you are within reach of a known WLAN switch back to your common Location profile.



This is tested (and working) in a VMwareFusion Sierra VM and the nested pcfdev-ubuntu VirtualBox VM. In this environment I can't really simulate a missing Wi-Fi connection, because there is no Wi-Fi interface available. Instead I deactivated all interfaces (2 x Ethernet) in the Sierra VM.