Místo ObjectId můžete použít typ řetězce .NET, stačí jej ozdobit BsonRepresentation. Pokud používáte BsonDateTime, budete mít stejný problém s převodem. Toto je doménová třída v mém projektu, která používá tyto dekorátory.
public class DocumentMetadata
{
[BsonId]
[BsonRepresentation(BsonType.ObjectId)]
public string Id { get; set; }
public string Name { get; set; }
public string FullName { get; set; }
[BsonDateTimeOptions(Kind = DateTimeKind.Utc)]
public DateTime DownloadTime { get; set; }
}