Tinypoodle is right. .gz will consume more memory than loop mounted .tcz.
Some thoughts:
Instead of using .gz files to update mc to tc, they should be made into tcz extensions. ( Poodles suggestion )
The .gz loads before .tgz issue could be resolved with an xincludes.lst similar to onboot.lst if necessary.
This optimizes for memory
The way you put it makes it somehow like a choice of the lesser evil; the one at the expense of the other.
Perhaps a way could be found so that needn't be so.
This may sound odd to some but...
What if taking one of those extensions in question and placing them into /opt/tce/optional into a gzip'ed cpio archive?
With the status quo, as an example, say if a user prefers the newer Xvesa.tcz version and one of the former default wm's (jwm.tcz, flwm.tcz [original]), it would not be anything uncommon to use "dynamic remastering" (see wiki) and load these extensions from an additional cpio archive.
In such a way the memory optimization provided by squashfs could be gained without being
at the expense of the flexibility of including the .gz files in the initrd definition in the boot loader.