The two buildings appear conjoined but to my knowledge there is no internal path between them. (In fact the middle part is more of an arch with a closed gate underneath, and physically part of the northern building, not the southern one.) From the northern building, the primary exit is into the parking lot to the north, and OSRM gets it right – but OpenRouteService doesn’t.
How do I tag this, so that OpenRouteService stops suggesting an inaccessible path through an unrelated private driveway?
A while ago I tried creating a stairway there for foot routing, and OSRM now seems to be using it correctly – the screenshot is a valid path – but I’m still not sure about whether I linked the stairway correctly using the little footpath at the bottom (i.e. west) parking lot [not pictured in screenshot, I just added it minutes ago].
(What isn’t visible in aerial photos is that the east parking lot is actually ~2m higher than the small west one, with a guardrail in between.)
One thing you could try: Add an entrance node to the northern building.
In the absence of explicit entrances, a common heuristic routers use is the centroid of the building, which in this case lies just a little bit closer to the southern driveway.
As far as I can tell the footpaths and steps are connected correctly. One thing you need to do though is indicate whether the steps go up or down, relative to the direction of the way: highway=steps#How_to_map
It’s probably not the main issue here, but that driveway is not explicitly tagged as private or as having any kind of restricted access, so it is subject to interpretation about who can or can’t use it