Objects in games do not use a real movement, they moves the programmed amount.
When using overlap detection (case of areas here or non solid/trigger on other engines) if the bodies minimum motion is greater than the area, they will jump over it and the overlap will never occur.
Is not the same between PhysicBodies, rigid and kinematic (using move) will try to avoid tunnelling against "solid" objects.
So, your problem is the design, the area is too small to see a body at high speed.
To fix this, reducing the problematic speed is not an option, usually.
You can try:
- Increase the area size according to the speed (not common but sometimes is possible).
- Add a raycast that grows with speed, use it in the moving body to predict overlaps.
- Change the detection zone, you can use Line shapes instead, these are currently buggy on bodies (as solids) but work fine with Area2D.