There are a couple reasons for this, some are VSC independent.
Outside the scope of VSC, as you kinda hint in your question, why do you want infrastructure dependent on other infrastructure? Even worse if DNS servers are virtualized – circular dependency! (Yes, you can architect to avoid the circular dependency by having DNS servers in VMs on ESXi servers that don’t mount datastores using DNS, but how complicated do you want to make this?) Hopefully, this particular issue would be obvious to anybody running a datacenter.
When you want to have datastore traffic use a specific subnet, that is very hard to figure out from DNS, unless you have some kind of pattern or list of FQDN or hostnames to use. ESXi and vCenter won’t know unless they’re already in use. The filer/cluster/SVM often only knows its own primary FQDN which points at the management IP. The default.allow.nfs.mount.networks parameter in kaminoprefs.xml is for subnets, and has no way of doing a subdomain or similar. Even if it did, as I said, discovery of valid hostnames or FQDN would still be tricky.
I can envision ways to figure it out, like VSC queries the storage for IPs on the desired subnet, then do nslookup of the IPs from the ESXi server(s) to get the hostname or FQDN to mount with. The other way is to have the admin provide a list or pattern of host/FQDNs. Both are kinda complicated and need validation and error handling.
Still, I'm not saying we can't do it. Everyone reading, jump in with how badly you want this, and we'll submit an RFE.
Here's a blog post that relates...
Share and enjoy!