Acho que meu problema acabou sendo que eu não estava usando o parâmetro -WorkingDirectory do cmdlet Start-Process. O arquivo setup.exe chama todos os tipos de processos como parte da instalação e eu acho que os processos filho que ele estava chamando não estavam cientes do "WorkingDirectory" correto. O código que funciona é o seguinte.
Start-Process "$SQLServerSetupLocation\setup.exe" -Wait -WorkingDirectory $SQLServerSetupLocation -ArgumentList $arguments