Ah, interesting one ;-)  The reason why this fails is that canonicalise is made to not do anything with products which contain sums as factors; it only canonicalises pure monomials. Normally that doesn't cause any trouble.
Unfortunately, I messed up this check, making it search the expression tree arbitrarily deep. As a result, the check mentioned above flags the 1/(D-1) as containing a sum D-1, and canonicalise refuses to touch your expression. You can see this because the \eta^{N M} does not get its indices sorted.
I'll need to fix this properly, but as a workaround, use e.g. 1/Dm1 for 1/(D-1) and then replace Dm1 later.