Lea el operador posicional . En este caso, no necesita el volumen, solo UpdateMany.
collection.UpdateMany(
Builders<RootDocument>.Filter.Eq("Documents.Id", document.Id),
Builders<RootDocument>.Update.Set("Documents.$", document));
Esto pasará por la colección y hará coincidir cualquier RootDocument que tenga un ChildDocument con el Id. especificado y, posteriormente, lo reemplazará con el documento proporcionado.