The fact that MI is quite hard to do in Perl, and considering that most authors make it even harder might also be an not insignificant reason why you don't see many modules making use of MI.
But I'm not saying you should use MI. I'm just saying it's impolite to make it harder for others to use MI. The harder you make it for others to do things (for instance, setting magical variables without using local, not using name spaces, writing code that isn't cross-platform), the less useful your code is.
Let's not forget the question of the OP: Are there any limits on what you can/can't or should/shouldn't put into a constructor?. An answer to that question is don't put initialization of your object in the constructor, because it makes it harder to do MI.