A causa da diferença é considerada um mecanismo de segurança no Windows onde as sessões do usuário são tratadas separadamente. A mesma conta de usuário que faz o login localmente e via SSH custa duas sessões diferentes e, portanto, nenhum título de janela é visível entre essas sessões.
De acordo com a resposta de suporte do Bitvise SSH Server:
It makes sense this would not work cross-session because the desktops of different logins are supposed to be insulated from one another. If this works over FreeSSHD, it seems possible it might be launching the process in the same desktop.
[...]
I don't see how we can make window titles accessible across Windows sessions. Windows prevents that, there's a security boundary between the desktops.
Quanto a uma possível solução para alguns desses casos: Em um caso semelhante, acabei usando o WMIC como uma alternativa.
A chamada usada anteriormente foi
tasklist /T /F /FI \"WINDOWTITLE eq Some window title\"
E foi substituído por
wmic process where "commandline like '%%some command line%%' and name like '%%filename%%'" list
Observe, porém, que o WMIC não pode filtrar com base no título da janela ou na conta de usuário que está executando o processo. No meu caso, o aplicativo tinha uma combinação única de arquivo executável e linha de comando que poderia ser usada para filtragem, mas isso não acontecerá em todas essas situações, portanto, essa alternativa não será utilizável para todos os casos.