Dass genug andere freie Gleise zur Verfügung stehen, wird nicht erkannt bzw. berücksichtigt.
Wenn der Weg für einen nach Westen ausfahrenden Zug geschaltet ist, dann sind die Gleise 3, 4 und 5 für eine Einfahrt gesperrt, weil die Ausfahrt den Hosenträger beansprucht.
Und wenn die Fahrstraße für die Ausfahrt auch die Weiche 13 und die DKW 4 (für die Flankensicherung) enthält, dann sind auch diese in ihrer Lage festgelegt und somit bleibt für die Einfahrt nur noch ein Gleis verfügbar.
Wenn du in alle Fahrstraßen beide Weichen, aber nur die befahrene DKW integrierst, dann sollte es laufen.
An deinem Skript gibt es nichts auszusetzen und alle alternativen Skripte werden dein Problem nicht lösen. Weil es nicht durch das Skript verursacht wird.