In this example case, I need to use an HTTP proxy (called "proxy") for outgoing connections. I want to connect to macrofish, which lies in a protected network segment. To access macrofish, I must tunnel an ssh connection through gatekeeper. The expected sequence of events is WinSCP asks proxy to connect to gatekeeper, asks gatekeeper to open a tunnel to macrofish, then opens a session on macrofish. What appears to be happening (based on debug logs) is WinSCP never talks to proxy but instead tries to connect directly to gatekeeper, which of course fails.
If I tell PuTTY to use proxy and forward a tunnel through gatekeeper to macrofish, I can then WinSCP to localhost and reach macrofish just fine.