Unfortunately, the theory above shows that DMO should be performed after NMO. DMO is a convolutional operator, and significantly more costly than NMO. This is an annoyance because it would be much nicer if it could be done once and for all, and not need to be redone for each new NMO velocity.
Much practical work is done with using constant velocity for the DMO process. This is roughly valid since DMO, unlike NMO, does little to the data so the error of using the wrong velocity is much less.
It is not easy to find a theoretical impulse response for the DMO operator in v(z) media, but you can easily compute the impulse response in v(z) by using from equation (18).