Time.deltaTime not consistent over time

I am trying to do network time synchronization across clients, but I noticed some weird behavior and setup a simple project to test Time.deltaTime as it counted up. All I do is have a variable in the project that starts at 0 and holds the milliseconds since the program started. I display this on the screen and then open the program in 2 separate windows. I then compare the difference in the time displayed, and instead of the difference staying constant, it fluctuates quite substantially.

float counter = 0.0f;

void Update() {
counter += Time.deltaTime * 1000;
}

Unless I am understanding this incorrectly, no matter the framerate or when the players were opened, the difference between the value for counter should remain constant. Am I approaching this incorrectly, or is this a possible bug?

This won't work for my needs though, because I want a rolling counter to where it maxes out at 9999 ms and then starts back at 0. I simplified the code for the purpose of this. Is there no way to do that accurately?