Yes, this is probably expected behaviour. It’s called “lane based speed control” and the vehicle will reduce speed when its cross track error (distance from the line segment between waypoints) is higher than WP_OVERSHOOT… or to be slightly more precise, if it calculates that it will stray beyond WP_OVERSHOOT from the line segment given its current position, velocity and heading.