StartLocation in FPathFingingQuery below actor

I am currently working on a 3D grid pathfinding implementation.
The 2D version works perfectly. With 3D i ran into following problem:

My pawn is at Z = 3.050 but StartLocation in Query is Z = 2.986 which messes up everything, However X and Y are correct.
EndLocation is set via mouse click on my custom landscape and is correct in all 3 dimensions.
My pawn even manages to find and walk the correct path if i set its Z Location + 100 (one Grid space) in editor manually.

Can anyone explain this offset ?

I am dead lost here because Query is passed by the Engine to my code:
FPathFindingResult AGridNavigationData::FindPath(const FNavAgentProperties& AgentProperties, const FPathFindingQuery& Query)

The Pawn uses FloatingPawnMovement with no gravity.

After some grinding in unreals code i found the answer myself:

Line 272 Pawn.h
virtual FVector GetNavAgentLocation() const override { return GetActorLocation() - FVector(0.f, 0.f, BaseEyeHeight); }

BaseEyeHeight was 64 which makes sense since 3050 - 2986 = 64. By setting it to 0 everything works like a charm.

I think this is counter intuitive for Pawns which are not posessed by a player but the problem is resolved so far.