Do you receive data back by "Action:Add callback"? Yes, it will receive data when the watching value has changed.
And server timestamp will receive twice, it is not a bug. First time it returns the hypothetical value from local, then it returns the real server timestamp.
To get the server timestamp value directly, try calling "Action:Add once" after sets server timestamp COMPLETED.
Here is another application plugin to get server timestamp continuously.