Puoi farlo usando l'operatore posizionale "$[]" :
db.getCollection('workflows').update({_id: ObjectId("5ffef283f1f06ff8524aa2c2") }, {$pull: {"workflows.$[]":{pName:"Test1" } } } )
ma lo schema sembra un po' strano e dopo l'aggiornamento avrai array vuoti all'interno dei flussi di lavoro se tutti gli elementi sono stati eliminati nel sottoarray. Per correggere i sottoarray vuoti dovrai eseguire una seconda operazione per rimuoverli:
db.getCollection('workflows').update({_id: ObjectId("5ffef283f1f06ff8524aa2c2") }, {$pull: {"workflows":[] } } )