Ok, in device manager when not in TWRP I've managed to get it to show up in device manager, listed under "Android Phone" as "Android ADB Interface". This is a start - however, this only works when the xperia s is showing the "sony" logo - i.e. when I reboot and don't press vol+, it stays on the "sony" loading screen forever. When I reboot into TWRP, the phone disappears from device manager, even when I'm running TWRP's ADB sideloader.
Clicking "mount" in TWRP does nothing either, so I can't transfer a ROM over by drag'n'drop.
So it shows up in ADB as offline when on the sony screen, and is completely noncommunicative when in TWRP. FFFFUUUUUU how will I ever get this working?
Basically, my only hope is probably ADB. The phone is either recognised but offline, or doesn't even show up in device manager let alone ADB.