Eu temo que não seja tão simples assim. As variáveis de ambiente não são limitadas pelo escopo, como você sugere, mas você está certo de que o tempo de vida do valor na variável é diferente ao comparar os verbos.
Set
modifica os valores de ambiente do shell atual (a janela) e a alteração está disponível imediatamente, mas é temporária. A alteração não afetará outros shells em execução e, assim que você fechar o shell, o novo valor será perdido até que você execute o set novamente.
setx
modifica o valor permanentemente, o que afeta todos os shells futuros, mas não modifica o ambiente dos shells já em execução. Você precisa sair do shell e reabri-lo antes que a alteração esteja disponível, mas o valor permanecerá modificado até que você o altere novamente.
Veja aqui um exemplo: link