A “better way” would be to use lookahead because this is the sort of case it was built for.
At the high level the children layout nodes will update their size & position normally.
Internally, however, your lookahead implementation will animate the changes. Normal lookahead based layout animation will not work here so you will need a custom one that can coordinate the animation between all the children.