Por padrão, o kernel do Linux não se força a usar o endereço IP atribuído a uma interface específica para uso em solicitações ARP nessa interface. O racional - como me parece - é que todos os endereços IP atribuídos a qualquer interface no mesmo host pertencem a esse host, portanto, não importa qual endereço é usado em uma solicitação ARP.
Experimente sysctl -w net.ipv4.conf.all.arp_announce=2
e dê uma olhada na respectiva documentação do kernel :
arp_announce - INTEGER
[...]
2 - Always use the best local address for this target. [...]