I believe that there are several reasons but one is for sure that MDD is not in the curriculum of universities. Typically the closest is a course that teaches modeling and there the models stay as sketches (no checking, code generation, debugging at model level). This “modeling” course often introduces also introduces UML and students are puzzled why to learn such a large and complex notation when the value of created models is low.
Contrast this to other field of engineering like embedded-hardware developers or control engineers where students get a quite different experience. With tools like Simulink or Labview students can draw a model and then it generated you the code, or at least you can run it in simulation.
In the past universities teached compilers and parsers, but now they should teach how to make generators, implement DSLs, etc.