This solution is the best way to go. Luckily Microsoft made similar changes in Vista.
Conceptually its probably correct, but I think the speed hit is pretty large, and it's not like we've got a lot of performance to spare. As for the Vista comparison... Vista isn't exactly well known for it's OpenGL performance either. What is the performance hit for something like the CSS stress test? That should be a bit more representative than dx9 swapchains.
I'm certainly not saying it's not a good idea, but I do think the performance hit shouldn't be quite as noticeable.