Hmm, if you change your route to use Graphhopper it works fine. If you route from the crossings at either end (Princes/High Street) then OSRM also stays on the bridge. But even on South Bridge it does something strange: 

https://www.openstreetmap.org/directions?engine=fossgis_osrm_foot&route=55.94763%2C-3.18631%3B55.95012%2C-3.18753

Not entirely sure what can be done, apart from contacting those routers to ask why they are preferring the footways and steps rather than the main road pavements...