I just tested it on a freshly downloaded 1.16.2 pre1 minecraft server, and observed the same effect. Named zombie, teleported away, teleported back, zombie gone.
@tryashtar I had optifine only on the 1.16.1 version. I did all my tests on a fresh install of 1.16.2 Pre-1.
Okay, turns out the problem was that when you name a mob with a name tag, it sets PersistanceRequired to true. I missed that part. Using nametags actually seems to be fine. It's odd that the zombie kept disappearing in my iron golem farm, but that must have been an unrelated problem. Y'all can close this topic.