So, this isn’t an answer to my question but it is a method to get around it.
At the start of an AR session create and array of the current tracked geometries. Each tick, or however often you are running your updates, compare that array to the current list of all geometries. Those that aren’t in that array are new so add them to a second array. Then do your position checks or whatever you need to do from that new array, not from Get all AR Geometries.
Now the only way this works is if you update that existing geometries array. For me I just stop the AR session, reopen my level and start the session again. I think stopping the session is required for it to recognise image as a “new” geometry for it to track, while the previous iteration of that image is now in the ignored list. If you can’t just reopen your map you may need a more creative solution for deciding which tracked elements get put into your ignore list and when they are added.
Hopefully this helps someone else. I was maybe just being lazy about how I was using the Image detection system haha