You cannot check the building’s bounding box without the building being created. That’s why I suggest using a decoy.
You can always just move the building by itself after creation. If your map has no height difference, just set the Z to some static value when moving/spawning.
Check more overlapping actors(environment /pawns) or do not add class filter at all if you want. The randomness may move the building very far and random.
If you use always spawn, adjust location when spawning. The initial location’s Z might be move up like your Building on top of another. Do Z checking besides overlapping actor.