DeletedUser43 I'm afraid I cannot directly answer this question with lots of examples or any of that, but I can share some info along the same lines as what you're asking.
This kind of functionality wouldn't rely on the time that people use like "no more PIN guesses until 6:01 PM." Instead, it would rely on a monotonic timer, one that starts counting from 0 when the device boots. So, for example, if someone guesses the wrong PIN too many times after the device has been booted for 1000 seconds and the timeout is set for 1 minute, the next PIN attempt will not be accepted until after the device has been booted for 1060 or more seconds.
So, as you can see, even if an attacker could adjust they system clock, it wouldn't make any difference.
Here's a quote from the project account answering a very similar question about GrapheneOS's automatic reboot feature:
It's based on a proper monotonic timer, not real time. Timers for intervals of time should never be based on real time.
You can check out the code for GrapheneOS's auto reboot feature here. Also, the top part of these docs talk about different clocks. You can see elapsedRealtime() returns the number of milliseconds since the device booted, which is what GrapheneOS's auto reboot feature uses.