Да, это известное ограничение. В данный момент при shift-select операции onBeforeSelect and onAfterSelect не вызываются для каждого селектнутого элемента.
Единственная альтернатива - использовать onSelectChange событие и из него вызывать unselect для веток.