É possível que o seu roteador instrua os outros a enviar diretamente, com um pacote de redirecionamento ICMP. Como estão todos na mesma rede, sabe que isso deve ser possível.
Eu configurei rotas como a sua entre três máquinas Linux (mach1 < mach3 < - > mach2) e testadas com um ping:
mach1# ping mach2
PING mach2 (x.x.x.237) 56(84) bytes of data.
From mach3 (x.x.x.238): icmp_seq=1 Redirect Host(New nexthop: mach2 (x.x.x.237))
64 bytes from mach2 (x.x.x.237): icmp_seq=1 ttl=63 time=0.537 ms
Tcpdump em mach3 e mach2 mostra mach3 enviando um redirecionamento para mach1, e depois disso todo o tráfego vai diretamente entre mach1 e mach2.
Os redirecionamentos podem ser considerados um pouco duvidosos, uma vez que podem ser usados da maneira oposta: ter o tráfego enviado através de uma terceira máquina, um homem no meio. Veja por exemplo link
O envio e recebimento de redirecionamentos podem ser controlados com alguns sysctls:
net.ipv4.conf.*.accept_redirects
net.ipv4.conf.*.send_redirects
Depois de definir net.ipv4.conf.eth0.send_redirects como zero no roteador e redefinir as rotas, obtive todo o tráfego para passar pelo mach3.
Agora, eu testei isso em uma rede comutada (e com máquinas virtuais), então não tenho certeza se estar em uma WLAN muda as coisas. Eu não acho que deveria, se as máquinas só lidam com quadros destinados ao seu endereço Ethernet. Mas, em teoria, seria possível escolher cada quadro fora do ar.