I have the exact same thing here too. Everytime I save and quit, the days counter gets reset.
I found a probably bugged place in the code: it seems to be in DLC0002/scripts/gamelogic.lua
I think this is responsible of this strange behaviour (function is PopulateWorld)
elseif catch_up > 0 and GetClock().numcycles == 0 then
-- When a new world is generated we set its clock to the other world
-- for cosmetic/bragging reasons (although it will affect the hounds)
local catch_up_round = math.floor(catch_up / TUNING.TOTAL_DAY_TIME)
GetClock().numcycles = catch_up_round
Everytime the game is loaded the GetClock().numcycles gets reset based on this difference
catch_up = player_age - world_age
If I am not mistaken, this difference will never change when you jump in a new world (or volcano, caves)
I hope this helps
Cheers