Hi Joshua
The geometry filter is a ploygon that returns all the land parcels that intersect with it.
Here is an update on what I've done:
I exported JSON of this geometry and tried it in the REST API, it works perfectly.
In Python API, the geometry works fine if only IDs, or counts are returned. so my current workaround is to return all the IDs then query the same layer again using the where parameter to return all the features, which works fine, but apparently this is not the ideal way to do it.
I also tried this in a standalone script, same issue. So it's not a Jupyter notebook bug either. so far I can pretty much isolate it to ArcGIS Python API. I just need ESRI to confirm my guessing.
I've send ESRI a support request, and I'll keep this post updated when I hear from them.
Cheers
Simo