Then how the routing is supposed to calculate a new route with “Nearest point on route” rerouting option, if cannot estimate a nearest point, set a waypoint on it, so can force the routing towards it?
Routing needs waypoints for route calculation: start / via points / end.
That’s how this option works and why are available other options too.
What you described nicely above is a complicated rerouting case, where there were consecutive reroutings (because GPS reported be away from route?) with the “Nearest point on route” option.