I feel the main chokepoint when it comes to strategizing how to beat the game where you have control over the abilities you choose is the fact that there are some guaranteed encounters you will deal later on. You will always fight the final boss of the first world, you will always encounter death knights near the end of it, after the first world you will get random and strong elemental enemies which can easily kill you if you happen to have a build weak to their elements. Therefore, if you are sure you will meet those enemies, you need to prepare your build to deal with them, and the pool of build combinations which are able to deal with all of those becomes more and more limited.
I don't really see a good way to deal with this problem, because the alternative is the lack of structure and big chaotic randomness, when you never know what is to come at the end, which does not lock you into certain builds, but also requires a lot of sheer luck to actually beat the game or possibly this one universal build, which is simply more resistant to the randomness around and it's consistent in itself enough to be the one and most optimal.
Like Grassblazer mentioned, knowing what's to come next allows for planning, but honestly in the lategame, regardless of the enemies you are going to face, the build has already been decided. Theoretically, if you were to know enemies you will meet on the whole first world, on each branching choice and if those were more randomly placed, the problem of being locked in a build would be solved, because each run would require you to tinker on particular build to beat it due to the whole context and force the player to be elastic for each game - this however would require each person to do this big-brain planning instead of simply having fun.