O truque é remover 'default.aspx' se já estiver em algum lugar da lista:
$filter = "system.webserver/defaultdocument/files"
$site = "IIS:\sites\Default Web Site\MyWebSite"
$file = "default.aspx"
if ((Get-WebConfiguration $filter/* "$site" | where {$_.value -eq $file}).length -eq 1)
{
Remove-WebconfigurationProperty $filter "$site" -name collection -AtElement @{value=$file}
}
Add-WebConfiguration $filter "$site" -atIndex 0 -Value @{value=$file}
Primeiro, verificamos a existência do default.aspx, se encontrado, removê-lo e adicioná-lo novamente no início, como você já fez.