Odpowiedź na Twoje pytanie brzmi „tak, ale...”.
To jest można mieć członka o nazwie Id, który nie mapowane na element _id. Na przykład:
public class X {
[BsonId]
public ObjectId MyId;
}
public class Y : X {
public string Id;
}
Jednak w hierarchii klas element _id musi być u podstaw hierarchii (innymi słowy, wszyscy członkowie hierarchii muszą zgodzić się na używanie tego samego _id).