Let us say we have Object A, with Children B,C,D, and E. Let’s say it looks like this:

The relative positions and sizes of B,C,D, and E are important. Ideally, Object A’s size is always manipulated through scale, because that preserves the relative positions and sizes of the children.
However, when using components like Grid Layout Group, misfortune happens because Grid Layout Group does not use scale, it manipulates size instead. Observe said misfortune:
Is there a way to have Grid Layout Group (and other auto layout things) preserve the relative size and position of the children?
We could store B,C,D, and E’s position and size and then manually recalculate them all after Object A has been dumped into the grid and resized, but I’d rather not.
You can have the children of object A react to the size changes by setting up their RectTransform anchors to the corners of object A. The will then scale their position and size with changes to the size of A.
@pfreese that doesn’t seem to be the case
Setting their anchors to corners and then moving Object A into the grid resulted in this:
I’m not even sure what those red crosses are.
Actually, if you want to get the same effect as if the scale of object A were changed, then I believe you need to set each child’s anchors to the corners of that child, not to the corners of object A.
That means that every child’s anchors need to be positioned differently, and (unless there’s some shortcut I missed) need to be manually re-positioned every time you decide to move the child to a different location. And since anchors do not snap to the edges of the object they anchor, and in fact seem to move on a coarser grid, you probably will not be able to get them exact without a significant amount of effort.
But I believe that will make them scale the way you want.