I think so as well. There are 3 crossings either way, so the solver just picks one solution.
As a human you can look at the solution and decide it's not so pretty, but the question is how to model this as a general set of penalties. These also have to be linear - and if you have too many complex constraints, the solver may not finish in time.
Why doesn’t the integer linear ordering put the orange line completely inside the loop?
That would remove 3 crossing sections, and look better.