With regard to 1., I'm not sure about Doom Emacs, but on GNU Emacs you could navigate to lisp/vc/vc-dispatcher.el, move pointer to (defun vc-exec-after (code) ... and invoke C-u C-M-x to invoke eval-defun. Move cursor to first line, add a breakpoint edebug-set-breakpoint, and run the code/command again to use Edebug to step through the code.
Also, maybe you ...
If was me, I'd just use a keyboard macro. Hopefully your test procedure doesn't abort recording the macro. If so, you'll have to find some way to wrap that last command.
Start the macro recording with C-x (
;; do your interactive stuff
End recording the macro with C-x )
Name the macro something meaningful (eg. "mykmacro") with C-x C-k n ...
This shouldn't happen. Sounds like a bug in your Emacs version on the platform you're using.
If you see the same problem when you start Emacs using emacs -Q (no init file), the please consider filing a bug report, using M-x report-emacs-bug.
If you don't see the same thing without your init file, then bisect your init file to find the culprit.
In July 2021, the julia-mode folks removed their code to communicate with the Julia REPL (known as an inferior process in Emacs terminology), and recommend using a third party package. This is all discussed in this GitHub issue.
Based on your hook, I'd assume you're trying to use ESS with Julia. If that's the case this is all I need to get my Julia code ...