Svaret på din fråga är "ja, men...".
Det är möjligt att ha en medlem som heter Id som inte är mappad till elementet _id. Till exempel:
public class X {
[BsonId]
public ObjectId MyId;
}
public class Y : X {
public string Id;
}
Men i en klasshierarki måste _id-medlemmen vara i roten av hierarkin (med andra ord, alla medlemmar i hierarkin måste komma överens om att använda samma _id).