Always a little tricky to chime in on this stuff because it takes me a bit to wrap my head around the data models, but this statement:
I am able to fetch all Orders under each Batch, and then hide the ones that do not have this Batch as a Airtable lookup field.
...sounds accurate. Does that not work for you?