FIX: The issue was fixed by remaining the raycast to something other than Raycast2D. Strange, but it's now fixed.
I have found a weird issue with raycasts, Area2D etc. Whenever I create multiple instances of a scene, their raycasts stop detecting other instanced scenes and return null and Area2Ds do the same.
This is how I would normally instance something:
func make_building(scene:PackedScene) -> void:
var newBuilding:Node2D = scene.instance()
get_tree().current_scene.add_child(newBuilding)
The first building picks up the second building next to it just fine, the third building, it's raycasts and area2Ds stop working. They return null!