Oh hey, thanks for checking out my other stuff! It's cool to see other people use Godot too.
Funnily enough the building placement code is pretty divorced from the grid manager code; It's a Node2D with a sprite attached that only moves in steps of the grid size, and it checks for where you can place it on by using an Area2D to detect the tiles and buildings (which also have Area2Ds attached) and reading their data.
It only signals the grid manager once you click and place a building down, and that's to put the building it creates into the dictionary it has of placed buildings (So I can get the positions of them later for the synergies)
It's probably super janky and not the greatest but it works fine, especially for a jam game.
Hope that helped!