Correct me if I’m wrong but, to me, it seems that you’re just resizing an image rather than apply scale to the canvas that holds the icons:
The idea is to have a parent container (CanvasToScaleAndMove):
This container holds everything that needs to be moved and scaled inside and you transform that container. This will, in turn, transform everything within.