working around FixedUpdate-Physics Step execution order

If I follow what you’re saying, this isn’t a bug, it’s just not what you want. This comes up time and time again for 2D and 3D physics.

Contacts are not where it is in contact now, it’s where there was a contact at the start of the simulation step. The rest of the simulation step involves resolving the contact. When everything is solved, it doesn’t then recalculate all the contacts. Contacts are historic. This applies to both 2D (Box2D) and 3D (physx).