From Synthetic Scenes to Real Performance: Enhancing Spatial Reasoning in VLMs