We see similar behavior on an ftrackapp.com hosted instance. In our case though the timer starts at -30, counts down to 0, resets to -60, counts down to 0, resets to -60, ... When stopped via the Web UI reports a negative value for the timelog.
Using utcnow to set the start time after starting the timer works, but that seems like an awfully janky workaround, for a function that should just work.