La respuesta a tu pregunta es "sí, pero...".
Es es es posible tener un miembro llamado Id que no asignado al elemento _id. Por ejemplo:
public class X {
[BsonId]
public ObjectId MyId;
}
public class Y : X {
public string Id;
}
Sin embargo, en una jerarquía de clases, el miembro _id debe estar en la raíz de la jerarquía (en otras palabras, todos los miembros de la jerarquía deben estar de acuerdo en usar el mismo _id).