Domain Based Behaviour without DNS Check?

Dear folks,

Is there any way to do some route marking, or other functionality, based on domain address, without checking the IP in which packet sent to?
the middle DNS returned blocked data, and if you request an IP address even setting your DNS to some global DNS, the route you’ll receive is different, and IP address of some web server that used to display blocked message… some request also are terminated at sight.

what i wan’t to do, is, before i reach the step that DNS response with blocked information, in case it’s possible, i decide based on domain somehow, and route data to VPN service, and even if possible, load balance it between two or more VPN…
I may be able to also tell use the foreign DNS through the VPN, but the latency of network is not good at all, and over 100ms, and it will be overkill to do that. is it possible for mikrotik to read domain name of requests?