Setting ip enable-arp-ignore on a physical interface (e.g. "set interfaces ethernet eth0 ip enable-arp-ignore") works as expected. When committing the config, a 1 will be set in /proc/sys/net/ipv4/conf/eth0/arp_ignore. After reboot, this is still the case, and everything's great.
Setting the same thing on a vif (e.g. "set interfaces ethernet eth0 vif 50 ip enable-arp-ignore") and committing the config LOOKS LIKE it's working as expected. The config gets committed successfully, and a 1 will be set in /proc/sys/net/ipv4/conf/eth0.50/arp_ignore. However, after a reboot, the entire physical interface (along with all vifs on it) will be left unconfigured, and won't show up at all in the running config. Only way to fix it is to manually edit /config/config.boot and removing the enable-arp-ignore setting from the vif.