I was dealing with something like this yesterday. Tried a whole range of things, like converting the DateTime to Ticks, new Dates and other things. I ended up just using a combination of
[BsonDateTimeOptions(Kind = DateTimeKind.Local)]
above the property in the class and it worked like normal in the Linq.
_collection.Find(ltr => ltr.MailDetails[0].ReceivedDate >= strtDte && ltr.MailDetails[0].ReceivedDate <= endDte).ToList();
strtDte and endDte are C# DateTime objects.
Hope this helps.