Você está correndo em um caso de borda estranha de como funciona a formatação de saída no PowerShell. Por favor, veja esta descrição do problema de Jeffrey Snover.
Eu só posso reproduzir esse comportamento ao executar os comandos todos em uma linha como:
$wmi=Get-WmiObject Win32_UserProfile; $wmi | select localpath;$wmi|select SID; $wmi | select localpath
Isso deve ser (especular aqui) porque toda a linha é submetida ao Out-Default como um lote; se você executar cada comando individualmente, não verá esse comportamento.
Mas, com uma chamada para Out-Default, ele primeiro vê o Selected.System.Management.ManagementObject com uma propriedade, 'LocalPath', para criar uma tabela com uma coluna, para 'LocalPath'. Depois de obter alguns Selected.System.ManagementObjects com uma propriedade 'SID', eles aparecem na tabela como nulos, porque sua propriedade 'LocalPath' (a única Format-Table conhecida para exibir) é nula.
Este problema não acontece no primeiro exemplo porque o 'select *' faz com que Out-Default escolha Format-List como o formatador, que é muito menos com perdas.
Espero que isso ajude - a postagem do blog que eu vinculei explica isso muito bem.