Honestly, I think they should just link prosperity (the primary cause of starvation) to food surplus instead of food stock. The prosperity should stop growing when there is food scarcity (low surplus food, +1~3?) as at that point, food should become harder to procure and poorer people would starve before they get to dip their hands on the keep's food storage. People would also have trouble having children when they have insufficient food. And have prosperity go negative at zero to negative food. That's it.
Ideally, this would create a gentler natural prosperity softcap instead of this swinging booming prosperity and crashing economy and garrison. As the prosperity stops before the whole town starve.
And the idea of disrupting the supply line still works if not better because prosperity would start dropping as food surplus becomes negative, long before the food stock actually runs dry.
As for food production, I think the village production already scales to their hearths and all villages have basic food production. If it is so, then that's already enough.