Stai chiamando il metodo Pull(string name, MongoDB.Bson.BsonValue value) e secondo i documenti
e fornisci { "Identifier", productId } come il valore. Immagino che mongo non lo trovi esatto valore.
Prova a usare il secondo sovraccarico di Pull con query-condizione invece del valore esatto
var update = Update.Pull("Products", Query.EQ("Identifier", productId));
AGGIORNAMENTO
Dal momento che menzioni Category entità così posso suggerire di usare lambda invece di Query.EQ :
var pull = Update<Category>.Pull(x => x.Products, builder =>
builder.Where(q => q.Identifier == productId));