Você está chamando o método
Pull(string name, MongoDB.Bson.BsonValue value)
e de acordo com os documentos e você fornece
{ "Identifier", productId }
como o valor. Acho que o mongo não acha isso exato valor. Tente usar a segunda sobrecarga de
Pull
com condição de consulta em vez de valor exato var update = Update.Pull("Products", Query.EQ("Identifier", productId));
ATUALIZAÇÃO
Como você mencionou
Category
entidade para que eu possa sugerir o uso de lambda em vez de Query.EQ
:var pull = Update<Category>.Pull(x => x.Products, builder =>
builder.Where(q => q.Identifier == productId));