My working hypothesis is, the calibration stored by the switch's software is desynced by the battery consumption under Linux. When the Switch re-enters Horizon OS with a drastic change, it cannot calibrate correctly. Now this is odd since you can drain a battery with the switch entirely off; thus, you would expect the same result under normal operation. That being said, this does not appear to be the case. I believe the switch may keep a low powered counter of the battery when even in complete shutdown state, which would explain the desync after Linux.
Since my proposed fix of draining the capacitors resolves the issue, I believe this may be a hardware component storing the data in memory.
For now, please do the cold boot trick I recommended that has been confirmed to fix the issue, and I will diagnose this further when I get home to see if I can find a soft way to reset this counter.