"no pruning" implementation differs from the one a user would expect, as it defaults to the underlying decision tree without using the linear model on the leaves.
Explanation: in M5 there is an extra restriction that leaves' linear models should ony use as drivers the ones that are explicitly used for splits that were removed by the pruning to create the new leaf. This is why when pruning=False the leaves are constant.
This strong restriction should maybe be optional, with a parameter ?
See scikit-learn/scikit-learn#13106 (comment)