Maybe the problem here is thinking of md and dm as different things.
Try just not thinking of them at all. Think about it like this:
The linux kernel support lvm
The linux kernel support multipath
The linux kernel support snapshots
The linux kernel support raid0
The linux kernel support raid1
The linux kernel support raid5
Use the bits that you want, and not the bits that you don't.
dm and md are just two different interface styles to various bits of
this. Neither is clearly better than the other, partly because
different people have different tastes.
Maybe what you really want is for all of these functions to be managed
under the one umbrella application. I think that is was EVMS tried to
do.
One big selling point that 'dm' has is 'dmraid' - a tool that allows
you to use a lot of 'fakeraid' cards. People would like dmraid to
work with raid5 as well, and that is a good goal.
However it doesn't mean that dm needs to get it's own raid5
implementation or that md/raid5 needs to be merged with dm.
It can be achieved by giving md/raid5 the right interfaces so that
metadata can be managed from userspace (and I am nearly there).
Then 'dmraid' (or a similar tool) can use 'dm' interfaces for some
raid levels and 'md' interfaces for others.