Melhor palpite: o seu RaspPi está conectado ao roteador via LAN, enquanto o telefone "alvo" e o PC com Windows estão conectados via WLAN. Isso significa que, enquanto o telefone e o PC com Windows estão no mesmo segmento e o ARP funciona conforme o esperado, normalmente a LAN e a WLAN não estariam no mesmo segmento.
Como eles parecem estar no mesmo segmento (mesmo prefixo / 24), eu diria que o roteador faz algumas coisas interessantes para fazer esse trabalho, como o MAC NAT via obtables . O fato de que o endereço MAC "falsificado" só difere no prefixo do fornecedor, e o prefixo do fornecedor não parece ser válido, também aponta para isso.
Você pode testar isso conectando seu PC com Windows ao roteador via LAN (cabo) e ver qual endereço MAC ele reporta nesse caso.
Outra forma de testá-lo é obter acesso root ao seu roteador e ver o que está acontecendo dentro dele.
Editar
Se esse palpite estiver correto, é um problema puramente roteador , não um problema do Linux versus Windows. O Windows também encontrará o endereço MAC "errado" se o PC Windows estiver conectado via LAN, enquanto o telefone de destino estiver conectado via WLAN. Todos os dispositivos que estiverem conectados via WLAN verão o endereço MAC "errado" de todo dispositivo conectado via LAN, e vice-versa.
E você não pode "contornar" isso, a menos que você possa configurar seu roteador para desativá-lo. Nesse caso, você provavelmente terá sub-redes diferentes para LAN e WLAN, e o RaspPi na LAN não verá o MAC de nenhum dispositivo na WLAN em tudo (e vice-versa), embora eles podem se comunicar uns com os outros.
É assim que funciona a rede.
A questão é: por que você precisa do endereço MAC "correto"? Você não deveria precisar.