What is the correct way to restart nmcli interface remotely?

If you use nmcli's device reapply command, it will apply the changes. Replacing devicename with the actual device name of course.

nmcli device reapply devicename

This worked fine for me.

nmcli device disconnect enp4s6; wait ; nmcli device connect enp4s6

Obviously replace enp4s6 with your device name