@ginogino, The way you describe this is completely like the logic is programmed. When you deviate from the route (at WP2, to get gas), it takes 3 calculations to auto skip WP3, which in your case is 27km further in the route. It looks at the next 10 waypoints and decides which one is closest (calculated over the roads). If you just past WP2, it is not hard to imagine WP9 is closest, so it takes that one. This is exactly how the algorithm is intended. The real problem with the route is the lack of waypoints.
If you deviate from a route to have a stop (whether gas, lunch or whatever), recalculations will occur. It is wise to look at the route before taking off again. You do not have to delete any waypoints, just long-press WP3 in order to set that as the new first WP to drive through.