A common observation is that even though you have set up the /etc/network/interfaces file, or the systemd network eth0 file, you still find yourself with a dynamic IP assigned by the DHCP server. Why is this?
The trouble comes in that the network was already configured before your configuration was read. This happens when the users are booting to the initramfs and then "exit"-ing.
There are two conflicting approaches here. Either 1) You want to boot to the initramfs but you want custom network settings, or 2) you don't realize the difference and are accidentally being overridden by the initramfs.
In case #1, the correct method would be to reconfigure the network using the /ts/init script, killing the dhcp processes in favor of your own network setup.
In case #2, the correct solution depends on the specific TS-xxxx product in use, but generally either involves removing the /ts/fastboot file, or using tshwctl to set soft jumper 1 thus: tshwctl --setjp=1. See your specific product manual for which is most appropriate.