You misunderstand the meaning of subshell. A subshell is not a completely new process but a fork of the existing process.
If you call `zsh` explicitly e.g.
zsh -c 'echo "$$ $(date)" >> $HOME/.debug.zshenv'
then the shell forks, calls `execve()` and by that starts a completely new shell which does the initialization again.