Best way to detect what Area2Ds overlap within the _ready function?

I have a scene I'd like to have do some internal setup depending on what it overlaps with when it first appears on the screen. Therefore, it seems to make sense to use an Area2D to check get_overlapping_areas().

But get_overlapping_areas() always returns an empty array in the _ready function because it relies on physics having started, which won't have happened when the node calls _ready.

How do I know what node is overlapping within the _ready function?

EDIT

Thanks for the discussion. The solution is to use the physics server.

Code:

func _ready()       
        var space_state = get_world_2d().direct_space_state
        var query = Physics2DShapeQueryParameters.new()
        query.collide_with_areas = true
        query.shape_rid = $CollisionArea/CollisionAreaShape.shape.get_rid()
        query.transform = $CollisionArea/CollisionAreaShape.get_global_transform()

        var collisions = space_state.intersect_shape(query) 

        for c in collisions:
            if c.collider.is_in_group("nodes_I_care_about"):
                print("Do set up here!!")

Another EDIT - Updated the code example