At over 128m from the player, mobs will despawn instantly. 1.14.4 pre1: Villagers now voluntarily pick up items. But I wanted to see if anyone else has any ideas of how to keep them alive/not despawn. I've read about a method that involves some NBT tag PersistenceRequired but haven't tried it yet; in fact that's my next method i'm going to try and use right after I write this. The "last slept" and "last worked" properties for villagers are now saved properly. You could probably get away with being in this area for a short time, but eventually the zombie villager will despawn. pre2: Panicked villagers now have to work and sleep, so they cannot be in a state of panic all the time. If you want to keep your population alive, encase the village in a thick wall, block any exits, remove any steep ledges or other hazards, and put light EVERYWHERE. Seriously, villagers at my village would climb vines only to jump off and hurt themselves! If they're close to an outside wall, or your roof isn't high enough, a strike on or next to the building can turn the villager into a witch, which is then subject to the mob despawn rules. There are a couple of known bugs where they disappear on both bedrock and java editions, usually if their bed is right on a chunk border. pre2 Chunk loading has little to do with mobs despawning.
None of this has worked any players are starting to get a little ticked off that their villagers are despawning. Farmer villagers now always give away food even if other villagers do not need it. No villagers are not supposed to despawn in any version of minecraft. I've had villagers vanish on me like this and over time, I've come to the conclusion that for me, it's often an issue with lightning strikes. At over 32m from the player, mobs have a chance to despawn at random.