The thing is that Module::Build has failed in its 10 years of existence to take over from ExtUtils::MakeMaker. In my opinion quite rightfully so, as it is far easier to debug a Makefile using make -n than it is to debug various opaque layers of Module::Build to find out what goes wrong.
In retrospect, it seems that Module::Build falls in the same category as ORMs - instead of "I don't know SQL, so I want to write database access as if it were Perl" it falls in the pit of "I don't know make so I want to write module installation/compilation as if they were Perl".
I understand that extending ExtUtils::MakeMaker may be much hairier than extending Module::Build, but when it fails, the Makefile generated by EU:MM is far easier to debug and "fix" (by direct editing) than divining the error cause from the Module::Build modules and inventing a fix for them.