I've filed bug #144612 for this - I think the issue here is that if the closest point on the curve to the agent is one of the later sections, it will choose to take the shortcut
Hello cwhite, thank you for the log as bug. Perhaps the curve direction (normal/tangent) can be used to push to the better direction ? Or a sort of custom index id to help to determine the way to go ?
The SOP does have a notion of tracking the agent's progress along the curve, so it'll never go back to following an earlier section of the curve at an intersection like this. However, there isn't much stopping it from jumping to a later section of the curve, as in this scene. It may need some additional checks of neighbouring points to choose what should happen, rather than only following the closest point