Ah man - after creating a repro init file I found the issue - sorry for the noise!
FYI: I have the following in my init file and it appears that restoring the file-name-handler-alist, based on the "snapshot" taken before init file processing, causes tramp to break. I did a diff and the array list looks identical, so not sure whats causing the issue but its more curiosity now rather than a blocker.
```
(defvar file-name-handler-alist-old file-name-handler-alist)
...
(setq gc-cons-threshold 128000000)
(add-hook 'after-init-hook
#'(lambda ()
;; restore after startup
(setq gc-cons-threshold 8000000
file-name-handler-alist file-name-handler-alist-old
)))
```
Thanks!
-Harvey