What you described sounded like ‘impossible situations’ to me… Let’s look at the details you described about the first device:
Without being connected to a router, it kept good time both with w/NTP “ON” and “OFF”. When connected to a non-internet connected router (with NTP “OFF”), it started sporadic time-keeping..
This is very puzzling. Technically the firmware performs time-keeping in the following way: every time the controller restarts, and every 24 hours since that it perform an NTP syncing, unless if NTP sync option is turned off. Once synced, the time is written to the RTC. Every minute the microcontroller reads the RTC and refreshes its time. So the time stored in the RTC determines the accuracy of the device timing. Given this, whether the router is connected to the Internet or not should have no effect on the clock running faster, slower, or stalling.
One thing I thought about is: you should check if the CR1220 battery is installed reliably. If the battery is not installed or does not have correct voltage (needs to be around 3V), that can cause strange behaviors on the RTC.
Also, please specify your firmware version so we can check if the issue is reproducible.