It hasn’t been to long since last post, so I’ll just add here because I had the exact same problem and the exact same use case.
If OP had the same problem as me, I suspect that the issue was with DHCP, specifically the default reserved IP option and the associated lease.
When using a non-reserved IP, the arp/ip neigh entry remains permanent (regardless of how it was added), as expected.
I can only assume that there’s some overwrite that happens in the table for reserved entries whenever the DHCP lease is distributed, which is consistent with the issue only occuring once the target device is turned on.
One resolution is to set the target device with a static IP, otherwise if you want to use DHCP, you’ll have to live with the non-reserved IP and just hope no one IP squats it (this should only really be relevant in a heavily congested environment), otherwise the target device should generally receive the same IP anyway.
Other than setting a static IP on the target device, is there any other way to reserve an IP other than through DHCP leases? Or is there a way to change the reserved leases so they don’t overwrite entries?