Improving navigation to a point that is not on the map's road
I prefer GraphHopper routing.
If destination point is on the map's road, the route is calculated precisely to this point.
But if destination point is not on the map's road, the route is calculated near to this point. It may be several tens or even a few hundred meters from destination point.
I suggest to add this destination point to the calculated route. Then automatically switch from navigation mode to guidance mode when near this added point (user's preferable distance).