Los controladores implícitos de BSON (sugeridos en el comentario) podrían no funcionar porque el comando FindAndModify tiene una firma estricta para devolver Option[BSONDocument]
FindAndModify extends BSONCommandResultMaker[Option[BSONDocument]]
dado que el resultado devuelto es de Future[Option[BSONDocument]]
escribir
puedes importar los formatos json
import play.modules.reactivemongo.json.BSONFormats._
y aplicar
result.map(docOpt => docOpt.map(d => Json.toJson(d)))
en el resultado, o llame a la conversión directamente
import play.modules.reactivemongo.json.BSONFormats
result.map(docOpt => docOpt.map(d =>
BSONFormats.BSONDocumentFormat.writes(d).as[JsObject]))