dnf should provide more debugging information about the way it resolves packages dependencies, and more important, about which package adds which "require" to the transaction set. The --debugsolver option generates a lot of data about the content of enabled repo, but I could not find the debug output of _how_ dnf uses all this information.
*** This bug has been marked as a duplicate of bug 1303978 ***