DNF is in Fedora since F18. Since it should become replacement for YUM in F21/F22 (not sure about the timeframe), it might be the right time to add DNF support into mock. Thanks for considering.
There is nothing special about yum in mock. You can remove /usr/bin/yum and make it symlink to /usr/bin/dnf and it should work (and this what will likely happen in F20). I tried to replace: self.yum_path = '/usr/bin/yum' by self.yum_path = '/usr/bin/dnf' in /usr/lib/python2.7/site-packages/mockbuild/backend.py which is only occurence of yum in mock and I was able to build packages successfuly. Generaly spoken, mock is ready. If you find some corner case, please report it separately.
Right now the mock package still depends on yum-utils, and the code seems to only know about yum's cache/repo directories. It would be nice to have that updated and an optional dependency on dnf introduced.
Yum is still primary package manager. The change will not happen till F22 and/or till we will have rich dependencies in rpm.