Evtl liegt es daran, dass in beiden Fällen das Building TEILWEISE in der "falschen" Stadt liegt?

Ich würde nicht auf das Building-Polygon abfragen sondern den Schwerpunkt nehmen. Der ist dann eindeutig.

Noch besser wäre anstelle von ST_Centroid(geom) ST_PointOnSurface(geom)

Es sollte äquivalente Funktionen bei OVP geben.

Gruß
Walter