It is unclear from the name that GetTimeMicros returns the system time. Also, it is not using the type-safe std::chrono types. Fix both issues by replacing it with SystemClock in the only place it is used. This refactor should not change behavior.
Backport of core#27233.
Depends on D18873.