2) Is there a strong reason to use xfs instead of ext4 on the Vagrant VMs?
"Strong" is somewhat subjective, but XFS is the default filesystem in CentOS and some people ran out of inodes with our ext4 Vagrant images, without running out of space. I wanted to go back to ext4 (with a small bytes-per-inode parameter) and get rid of the swap partition, like Fedora Cloud, but there was quite enthusiastic opposition in #centos-devel to moving away from XFS.
3) It seems you could shrink down the install size by adjusting the
kickstart. Doing i.e. '%packages --nobase', and also removing '@core' and
instead adding just the individual desired packages to the list should help
reduce the size (and the need to remove stuff after install).
I know, but... Our official images are quite popular and users seem to prefer an experience close to what you'd get by installing CentOS yourself, so we tend to err on the side of not changing things and not straying too far away from users' expectations. We're still using an IDE controller for the VirtualBox images, even though the VirtualBox docs recommend using SATA or SCSI for performance reasons, again due to vocal opposition to changing the (bad) defaults - mostly from Marcin.