The problem is most people just download and unzip the app, drag the app to Applications, then to the dock, then run it. But you've dragged an app to the dock before it's been verified which is the real cause of the problem. The solution is to verify it before you add it to the dock.
To be sure this was the issue, I deleted it from my dock, then from Applications, then using the exact same ZIP file I already had downloaded, I again extracted the app, moved it to Applications, then added it to the dock, then launched it, and sure enough, it was back to the double-icon/icon disappearing behavior.
I again deleted everything, but this time after I unzipped it into Downloads, before I moved it anywhere, I ran it right from there. It verified and opened fine. I then copied it to Applications, then the dock and it worked as expected.
As a third test, I repeated test 2, but this time I copied it to Applications first before running it, then ran and verified it from there, then dragged it to the dock. Sure enough, that worked too.
TLDR version: Open the app and verify it before adding to the dock.
It's not a VS Code issue, it's not an Electron issue. It's not an Archive Utility vs Dr. Archiver or anything else issue. It's a 'You added it to the dock before you verified it was safe!' issue. Before you add it to the dock, open and run it (from anywhere. Doesn't matter.) then you can safely add it to the dock. This seems it would be the case for any zip-distributed app.
Hope this helps!