Currently the way the VCL handles mobile-subdomain requests is that when it detects the mobile subdomain, it does two things in vcl_recv: sets the X-Subdomain header and rewrites req.http.host to the desktop hostname. Then later in vcl_hash we hash on X-Subdomain to keep the content caches separate. We currently have to eventually rewrite the hostname to the desktop hostname for MediaWiki's purposes, but it's not necessary that it happen in vcl_recv.
If we stick with the current logic, figuring out how to do ban actions on the cache gets complicated. To ban the mobile variant of a given object, we have to remember to ban on the desktop hostname obj.http.X-Subdomain=.... We could make life simpler by moving the hostname rewrite to the exit side of tier-1 backends as a change to bereq.http.host, and then from a cache/ban perspective the objects are properly under the mobile hostnames and we don't need vcl_hash hacks for X-Subdomain either.