@mstabrin Good to hear the BTRFS resize code is working for you! Thanks again for your work on this.
For a long time FOG would not move partitions if they were recognized as “fixed” because moving e.g. a recovery partition in the old MBR days would render it useless because of static sector addressing in boot loaders and such. Now as we all move towards UEFI and GPT partition layouts we have updated this logic to handle “fixed” partitions as fixed in size but not fixed in position anymore. For more details read this topic: https://forums.fogproject.org/topic/15025/move-partitions-on-gpt-layouts-need-people-to-test
I did a test with Linux partition layout having SWAP at the end and it was able to shrink it down and deploy to a smaller size disk: https://forums.fogproject.org/post/141373
To make a long story short, download the latest inits from our webserver (64 bit, 32 bit) and you should have this feature included as well as your BTRFS resize.