The MAX17211 uses the voltage at the AIN pin to detect if the battery is connected or not. When the fuel gauge detects that the voltage at the thermistor (AIN) is higher than 96% of the pull-up voltage (THRM), the fuel gauge will think that the battery has been removed. When the fuel gauge detects that the voltage at the thermistor is lower than 96% of the pull-up voltage, it will think that there is a battery inserted. In a low temperature environment, the voltage of the thermistor will be higher, and AIN can become higher than 95% of the pull-up voltage. The fuel gauge will think that the battery has been removed and inserted again, which will reset the SOC.
You can solve this problem by setting bit D11 of the register nMiscCFG to 0, which is equal to writing 0x3070 into register nMiscCFG. Also, make sure that the register nNVCfg0 is set to 0xC1B9, so the value of nMiscCFG will be written to MiscCFG on restart.