Вот способ объединения подходов. Обновление + конвейер для C# драйвера:
var stage = new BsonDocument { { "$set", new BsonDocument { { "recordId", new BsonDocument { { "$toString", "$id" } } } } } };
var pipeline = PipelineDefinition<BsonDocument, BsonDocument>.Create(stage);
...
Builders<BsonDocument>.Update.Pipeline(pipeline)