actually, this script is coming from us (from our CI jobs). And the flashing tool expects a .img file, not .img.gz. So i am not sure what you are referring to @danielt.
Ultimately, rootfs.img is being used by the on-target flasher which parses this file: https://git.linaro.org/landing-teams/working/qualcomm/db-boot-tools.git/tree/dragonboard410c/linux/partitions.txt (that's where the filename rootfs.img is coming from).
So essentially, it is correct that we don't support files >= 4GB.. I used FAT32 there, because i was expecting it to be useful for anyone to mount this on any PC (read: Windows) and drop their files directly. We could use another file system instead of FAT32.
However , i am wondering if you can't reduce your image size instead. Do you really want to flash an image which is larger than 4GB? Are you sure you minimized the image size as much as you could? Are you sure the image is 'sparsed' properly?