For the record, failover with L7 should be doable. If you give two or more different resolvers to clients, you can do L7 and forward each address to different internal resolver. If one fails, there will be regular timeout and client will try another. It's of course not an argument against proper support for this, because L7 way is still severely limited.
The worst is that (almost) all requested DNS improvements should be easy to implement, no major changes required, and still nothing is done. Different servers for different domains need one additional check against some list, to decide whether to ask global servers or different ones. Different resolver instances mean taking existing server and running it twice, bound to different addresses (ok, and some work on configuration interface). Sometimes requested additional static record types can be added using generic syntax like DHCP options, and even though it's not exactly user friendly, it allows to add anything. And that should be it for basic stuff. Anything else can wait after ROS v7 is out.