Perhaps you could show some images on what is the problem you are having, check the navmesh too to check if its actually possible for the Humanoid reach that target point.
You could show the basic script logic you are using.
For this:
I hardly think so, Humanoids are not intented to be able to “fly” to reach the target point, if there is no way to reach then it wont walk there
For the latter discussed part, is there any way to detect when their on a building? I use the model’s .Y position to make the pathfinding go to the X/Z coordinates of the target, but this doesnt work when there is another high building beneath the player
Its hard to understand the issue that you are experiencing since you are not showing the code and captures of your map with the navmesh enabled.
I used many times PathfindingService, and overall works great, sometimes it needs some adjustments to Agent properties, weight of the textures to walk in and ofc a correct navmesh in map.
If you could provide those details would be easier to help you