I'm using Keyboard Maestro to do this. I have a universal keyboard shortcut for creating a new note in The Archive; one step is creating a Zettelkasten ID (yyyyMMddhhmm) within KM instead of using command-U.

I use that same string in creating the note (so it goes in the name) and in the body of the note where I (redundantly) store it as zk_id: yyyyMMddhhmm, along with some other metadata I usually add to new notes. The final part of the KM script puts my cursor back at the top of the note so I can start typing without worrying about the metadata at the bottom.

The reason I add the zk_id in the note body is so I can easily find the original note (by searching for zk_id: yyyyMMddhhmm) or for it and any note referencing it (by just searching yyyyMMddhhmm). I can also use KM or other scripts to get the zk_id of the current note and copy it to the clipboard, or for other purposes. Then I only rarely need to interact with the ID directly, but it still serves the purpose of linking notes.