Thanks @anand, the question was not really about optimizing the query - though I appreciate the effort there. (remember these are user-input queries translated into dql). The issue was just that a query in v20.11 would be quick, and in v21.03 would be so complex it would take minutes and/or crash alphas.
So the solution here seems to be to sidestep the change made in v21.03, and perform my own pagination before using @cascade at all. If that is the only solution I can mark it as such, but that is not a very satisfying conclusion. To re-ask my question from a previous reply:
ps: I have been intrigued about the query planner roadmap item, but I am not sure what form that will take - so we will have to wait and see what that piece can do.