I think I can fix the Bedroom by updating the lastTurnUpdated value at the end of combat, and I'm pretty sure that won't break anything (I want to be in aftercore to test that out before making a change though).
I was wrong about this fixing anything. The charpane request that updates mafia's idea of how many turns have been played happens after the end-of-combat code runs, so updating lastTurnUpdated does nothing there.
It turns out that the choices that turns_spent counts as taking another turn are the ones that give stats or meat. Those, not surprisingly, are the ones where KoL requests a charpane reload.
Perhaps the end-of-fight code could set a CharPaneRequest boolean saying that a fight ended, and then a charpane refresh can update lastTurnUpdated, but that seems a bit messy. Or maybe the current CharPaneRequest code should go in processResults instead of setLastAdventure. I'll have to think about it some more.