Passengers are not selecting the shortest route. They select the route with the least number of transfers.
Passengers currently count the transfers between transportation modes.
I.e. change from bus to train = 1 transfer. They try to use the route with the least number of transfers. If there are "equal" routes, they use whichever they find first.
Note from webmaster: every change is counted (Even that from bus to bus)
As of Simutrans 0.84.8 (This will change sometime)