I configured my Windows 7 box for 184.108.40.206 as the primary DNS and an internal DNS server for secondary. When I make lookup queries for private IP'd internal servers I get an error from the primary DNS that the IP could not be found. The secondary DNS server is not getting the request. If I swap the primary and secondary DNS servers the query works fine. The reason for 220.127.116.11 as primary is that our DNS servers are in Europe.
secondary DNS specified in the OS doesn't work that way. Your system isn't going to query the secondary if lookup on the primary fails.
Your best bet is to set your forwarding server on your internal DNS server to query the upstream DNS (18.104.22.168) for any out of local zone queries, and use your internal DNS as the primary. That way, internal requests will be resolved and other requests will be referred up and resolved by 22.214.171.124
[edit - I'm assuming by "our DNS servers are in europe" note at the end that latency prevents you from using it as primary. didn't read that properly. unfortunately, this doesn't change the fact that resolution won't be handled by the 2ndary if the primary fails...]
Your fallback proxy DNS servers must provide the same view of the DNS namespace as your principal one. This is not the case for what you are doing. It won't work. It's that simple.
If your internal proxy DNS server is "in Europe" (which is a strange problem description) then set up a local forwarding proxy DNS server configured to talk to the "in Europe" ones, and configure all of your clients to use that. This is the major purpose of forwarding proxy DNS servers, to sit at the local ends of congested, slow, or expensive links.