after researching the engine code, I found that in the PathFinding() function from recast nav mesh, there is: Query.findNearestPoly() which check if poly exists in some extents near navigation in the start point when your character trying to find a path.
for example, by default it can’t find StartPoly if navdata turned out to be significantly lower / higher than the surface on which the character stands.
fortunately, you can easily expand this extent in the ProjectSettings/NavigationMesh/Query - VerticalDeviationFromGroundCompensation