Filter logic at different query depths

That is a nice approach!

Just FYI, experimental DQL support in GraphQL is available in master. Have a look here. So, maybe you could use that to make your flow more efficient. But, it is the very beginning of this feature, so things may change anytime.