Path reservation is not working when crossing a path signal from back side
To help anybody looking for the same info, I post my solution here.
Here I modified my example. With red arrows I marked additional path signals that are required for this junction to work as expected. First they seem rudimentary. But I guess that a path going through the back of a path signal has a huge penalty and thus without these signals, a path finding algorithm will not even consider a middle lane. But once I add the mentioned signals, the penalties are pretty much equal and it can choose the middle track when it's free.
I am still surprised though that path finding algorithm prefers a blocked track to the one with a backward facing path signal. We can check it if we add 1 more path signal to the middle lane, it will break the junction again(because it will has 2x penalty now).