You should use another data compression archive file format which supports deduplication.
whonix-gateway and whonix-workstation share a big amount of the same binary files.
Especially the ones in /usr
The differences are only small and in /etc
Last weekend i did the following test.
I unpacked your big Whonix-XFCE-22.214.171.124.4.libvirt.xz archive file.
This file has a compressed size of 1099884060 Bytes, around 1100 MB.
Then i packed the two files
I ignored the xml files, they have such a small size that they are not important for this comparison.
I used the following commands:
tar -cvf workstation.tar Whonix-Workstation-XFCE-126.96.36.199.4.qcow2 xz -z workstation.tar tar -cvf gateway.tar Whonix-Gateway-XFCE-188.8.131.52.4.qcow2 xz -z gateway.tar
This resulted in the following two files:
-rw-rw-r-- 1 XXXXXXXX XXXXXXXXX 498373356 Mar 30 02:37 gateway.tar.xz -rw-rw-r-- 1 XXXXXXXX XXXXXXXXX 638927196 Mar 30 01:43 workstation.tar.xz
If you do the calculation you get the following:
498373356+638927196 = 1137300552 Bytes
compared to the 1099884060 Bytes before with all the additional *.xml stuff.
This shows, that the compression isn’t good.
As i said before, the two *.qcow2 files have a lot in common.
If you mount them, you can see that their directories are nearly identical.
Both use Debian, so both use the same program and library files.
Only the configuration might differ plus a small amount of additional software only available on gateway or workstation.
This means, if you use a compression format, that can find these file duplications you can save around 500 MB.
You could try to use a raw image file instead of qcow2, this might allow the compression software to find the duplicates easier on a byte level.
Or you could build up the two images with a script on the users side with just one big file. There are plenty of possibilities.