### Godot version

4.1 rc 1

### System information

Windows 11

### Issue description

When an agent with navigation avoidance enabled reaches a target, it will continue going past it in the same direction. In 4.0, it would change direction and move towards the target again. 

### Steps to reproduce

Set up a simple navigation scene with no additional code to stop once the agent reaches the target. You should see the agent continue past the target once it reaches it.

To use the MRP, just run the main scene.

### Minimal reproduction project

[Navigation Avoidance MRP.zip](https://github.com/godotengine/godot/files/11908180/Navigation.Avoidance.MRP.zip)

ERR_FAIL_COND_MSG(p_height < 0.0, "Height must be positive.");
	if (Math::is_equal_approx(height, p_height)) {
		return;
	}
	height = p_height;
	NavigationServer3D::get_singleton()->agent_set_height(agent, height);
}
void NavigationAgent3D::set_path_height_offset(real_t p_path_height_offset) {
	path_height_offset = p_path_height_offset;
}
void NavigationAgent3D::set_use_3d_avoidance(bool p_use_3d_avoidance) {
	use_3d_avoidance = p_use_3d_avoidance;
	NavigationServer3D::get_singleton()->agent_set_use_3d_avoidance(agent, use_3d_avoidance);
	notify_property_list_changed();
}
void NavigationAgent3D::set_neighbor_distance(real_t p_distance) {
	if (Math::is_equal_approx(neighbor_distance, p_distance)) {
		return;
	}
	neighbor_distance = p_distance;
	NavigationServer3D::get_singleton()->agent_set_neighbor_distance(agent, neighbor_distance);
}
void NavigationAgent3D::set_max_neighbors(int p_count) {
	if (max_neighbors == p_count) {
		return;
	}
	max_neighbors = p_count;
	NavigationServer3D::get_singleton()->agent_set_max_neighbors(agent, max_neighbors);
}
void NavigationAgent3D::set_time_horizon_agents(real_t p_time_horizon) {