a.b.c.129 at aa:bb:cc:dd:ee:ff [ether] on eth0 # !<------ why? (it is even not from the same network)
It on the same network. Otherwise you would not see the hardware address of the node. If you were on different networks you would only see the MAC address of your router*. Logically separated subnets can be on the same physical network. Nothing prevents them from using the shortest physical path. The provider's gateway and your gateway share a subnet in the example.
If you wish to force all traffic via your gateway, I think you'll need to create firewall rules on the hosts.
* You would see the MAC address of +'. (a cross represents a NIC)
[local subnet]---------+' local gw +" | | [ remote subnet]----+. remote gw +,