Можете да използвате .NET тип низ вместо ObjectId, просто трябва да го украсите с BsonRepresentation. Ако използвате BsonDateTime, ще имате същия проблем с преобразуването. Това е клас на домейн в моя проект, който използва тези декоратори.
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; }
}