ShapeCast2D behavior seems inconsistent. Need help understanding

Godot Version

4.2.1

Question

I’m trying to use Shapecast2D node to calculate some collision points, but the collision results looked weird. The documentation does not give much info, so I did some test:

Green - areas2d to check collisions against.
Yellow - Shapecast’s shape at it’s starting position.
White - the shapecast itself.
Godot’s sprite - collision points on forced update (“Enabled” is false) .

Test 1)
Issue1
Issue2
For some reason, collision point is reported not at actual collision position, but at a position on area2d’s border, closest to shapecast’s position.

Test 2)
Issue4
Issue3
In both cases shapecast’s starting shape is fully inside the right area2d, but in the first case it doesn’t report collision with it.

Test 3)
Issue6
Hitting both areas at the same time results in two collision points being reported.

Not shown here, sometimes a shapecast reported collision point outside the area it collided with, particularly when checking against segment collision shapes.

Just in case, here is the test scene:
Issue7
Note: the code on all areas2d is purely to allow to move them, therefore irrelevant here. Shapecast area’s code also instantiates collision point sprites.

Right now the only idea i have is that, when first collision happens, shapecast also checks if there are any other areas it collides with at the moment, and reports their collisions too. Does not explain test 1 and not shown case though.
I would really appreciate if someone explained to me the actual rules for this node, or at least nudged at the right direction.