You are correct, the engine hours will get restarted every time the GO device is plugged in to a new vehicle. How the engine hours are read also depends on the plan that the device is under.
If a GO device is on Base or HOS mode it will start reading engine hours, also known as "Engine Operational Time" from the moment it is plugged in.
If a Go device is under Pro mode or higher, it will automatically pull the total engine hours. What this means is that, initially you may see that the engine hours are at 0 but once the provision time is completed the device will automatically update itself to the correct engine hours.
For best practices and to make sure all data is correct, whenever moving a GO device from one vehicle to another, make sure to "Unplug Device" from the database and add once it has bee plugged in to the new vehicle.