Demorei um momento para entender o problema. É um truque.
-exclude aplica-se apenas aos nomes de itens básicos (por exemplo, myfile.txt ), não ao nome completo dos itens
(ou seja, C:\pkgobj\myfile.txt ) que você deseja. Então você não pode usar excluir aqui.
Mas há uma solução alternativa usando Fullname e -notlike
$root = "C:\Projects\MyProject"
$allitems = Get-ChildItem $root -Recurse | Where {$_.FullName -notlike "*\pkgobj\*"}