I was curious what causes the 3-week stall, and this is what I found out in doing a little digging. When we experience calorie deprivation, whether a diet or after surgery or just not having the usual amount to eat for a bit, our bodies first turn to our store of glycogen to keep things running. Glycogen is a form of stored sugar, and for each gram of glycogen in the body, it's bound to 3 grams of water. So, if you burn a gram of glycogen for energy, you lose 3 additional grams of water as a bonus. Your body will always burn glycogen before it burns fat because that's how we've evolved to handle brief food shortages. Which means most of the weight you lose right after surgery is not actually fat, but water (and that's fine!).
But after a few weeks, your body is low on glycogen and you still haven't hunted down a wooly mammoth to eat, so now it starts burning fat to keep running. At the same time, it does what it can to replenish those glycogen stores with whatever calories you have coming in, because it's a little worried you won't survive the next famine. Glycogen makes me think of the $100 cash my mom always kept stashed in her sock drawer for an emergency. If she used any of it, as soon as she got more cash, she replenished that first before putting anything in her wallet.
Remember, each gram of glycogen comes with 3 grams of water. So you might burn 4 grams of fat, but also replenish 1 gram of glycogen (along with the 3 grams of water that tag along for the ride), and the scale shows you the same weight. Now you feel like nothing has happened and start to panic. But you still lost fat, which is the goal. And once your body does what it needs to do to replenish that glycogen, it'll start showing on the scale again.
I really wish doctors would explain this process to patients before surgery! Some mention plateaus in general, but they rarely explain what causes them, and the 3 week stall is the type of thing they really should explain in detail so we know what's going on because it's basically a given.