I haven't had much time to look at this yet but here are a few things I noticed:
Visual Homing Logs:
2021-05-04 19:37:27.845 GcodeDriver$ReaderThread TRACE: [serial://COM4] << Homing error - A axis settings misconfigured
You need to take A0 out of your HOME_COMMAND as the rotation axis can't be homed. I doubt if that is the cause of your other troubles but it can't be helping.
I think the dragging of the nozzle tip is probably caused by the top camera Z axis being assigned to your physical Z axis "zN1" rather than your virtual Z axis "zTop". Have you used the Issues and Solutions system? I'm surprised that would have escaped.
Some other things in your connect command that I'd change:
The $1pm, $2pm, ..., $4pm=2 settings are telling the TinyG to power down your motors after 300 seconds of non-activity (the machine could drift when the motors are not powered) - I think you want to always keep them powered, change those values to 1
You could also clean-up your logs and reduce the usb traffic by adding/changing these settings:
The homing failure log file appears to start immediately with errors from the TinyG:
2021-05-04 19:29:38.326 GcodeDriver$ReaderThread TRACE: [serial://COM4] << {"er":{"fb":440.21,"st":9,"msg":"File not open"}}
This error is typically indicative of the TinyG being in a bad state probably due to something prior to the start of that log file.
You may have something else going wrong getting you into that bad state but I include a \u0018 (backslash-u-zero-zero-one-eight is the unicode escape sequence for the ctrl-x character) as the first line of my DISCONNECT_COMMAND. That will reset the TinyG every time you hit the disable button which should get it back to a known good state. Just make sure you have the "Allow Backslash Escape Characters" checkbox enabled on the Driver Settings tab.