Answering my own question, but not sure why this is the case.
I tried out dban. Booted the ISO as a virtual machine, and used the "wipe" (write zero) option. Single pass. Followed the same steps afterwards as previously outlined. And the compression worked a LOT better. My compressed image was under 100MB.
The only thing I can guess now is that when using dd, /dev/zero was outputting something funny, or it was not being correctly written to the compact flash.