get_overlaping_areas()
should return a list of all the areas that share a collision layer and collision mask "match". For what I understand it looks for the areas, only when called, so it wouldnt make sense that whatever happened before, affects it. Have you tried just calling the function after the area appears?
Edit: setting monitoring or monitored to either true or false shouldnt even matter I think (not sure) because it affects the detection of entering and exiting only to fire signals, not for the get_overlaping_areas()