The debug did the trick, thanks!
I set it to ~0 to get EVERYTHING and noticed the ctl_dir and ctl_path values were pointing into my home directory, which on WSL1 is /mnt/c/Users/kevinb - a drvfs mount of my Windows C: drive. I remembered TROUBLESHOOTING 6 in the POD page saying Some file systems (as for instance FAT or AFS) do not support placing sockets inside them and guessed that maybe NTFS was on the Naughty List as well.
I created a /tmp/kevinb directory (which df tells me is rootfs), chmod'ed it to 0700 for good measure and added ctl_dir=>"/tmp/kevinb" to the Net::OpenSSH->new constructor call. Hey, presto - the getpeerid not supported error went away and my script started working.
Thanks for pointing me in the right direction!