This may be due to my lack of knowledge about Godot, but I have a scene that represents a ColorRect and area2D. I have extended a variable from this scene to determine the sizes of both of these nodes, so in theory I could change the size on command. Here is the relevant pieces of code from this scene.

var CBOXSIZE = {
"SINGLE" : Vector2(110,145),
"SIDE" : Vector2(145,110),
"MOD" : Vector2(450,145),
"MAIN" : Vector2(145,145),
"CONTROL" : Vector2(357,145),
"HAND" : Vector2(89,1024),
"NONE" : Vector2(10,10)
}
export(String, "SINGLE","CONTROL","MOD",'SIDE','HAND','MAIN','NONE') var triggerSize = 'NONE'
func _ready() -> void:
$ColorRect.rect_size = CBOXSIZE[triggerSize]
$Area2D/CollisionShape2D.position = CBOXSIZE[triggerSize]/2
$Area2D/CollisionShape2D.shape.extents = CBOXSIZE[triggerSize]/2
When I add two instances of the above to my main scene, the color rects do in fact change to the correct sizing, but I am finding that the Area2D is being set the same across all instances in my main scene. It is in fact using the sizing set for the last node in the tree. This tells me that I'm misunderstanding something.

In the above image, the area2d was set to SIDE, and the one below set to MOD. Both A2D's seem to be referencing MOD for the sizing.