The Brave browser doesn’t seem to have this issue.
When Brave changes the page zoom, it calls some methods on the webview with names like zoomIn(), zoomOut(), zoomReset(). These methods don’t exist in the mainstream version of Electron. I think the Brave people have added these to their own fork. I think this is the commit which adds them: “add zoom in/out/reset using host setting map”. Also related, “Expose zoom percentage”, made on the same day.
I’m not saying for sure that these changes were intended to fix the resetting zoom problem. I do see that Brave made these changes to their browser only a couple of weeks ago, and I just now reinstalled a 4 month old build of Brave that I happened to have on my computer and that does have the resetting zoom problem, unlike the current version.
Do the changes in Brave’s Electron fork tend to get merged into the official project? I hope so, in this case.