in terms of separation of concern i would largely prefer to have the strategy add the query thing. right now the query builder is assuming knowledge about strategies that it does not have (as its obviously doing the wrong thing for the child strategy and most likely for any custom translation strategy as well). if the strategy gets the querybuilder and can add its piece to it, i think it would be a lot more future proof than adding a method to expose strategy internal pieces of information.

i don't think its more complicated if the strategy is responsible. just more elegant and more flexible as the query builder does not later need to check what kind of strategy it is talking to.