Odpověď na vaši otázku je "ano, ale...".
je je možné mít člena s názvem Id, který není namapován na prvek _id. Například:
public class X {
[BsonId]
public ObjectId MyId;
}
public class Y : X {
public string Id;
}
V hierarchii třídy však člen _id musí být u kořene hierarchie (jinými slovy, všichni členové hierarchie se musí dohodnout na používání stejného _id).