Това може да ви свърши работа:
// This is your code
// Deserializing the DateTime object
DateTime eventTimeStamp = (DateTime)aDoc[MongoStrings.Log_Field_TimeStamp];
Console.Out.WriteLine("UtcDate: " + eventTimeStamp);
Console.Out.WriteLine("Locale : " + eventTimeStamp.Kind);
// This is new code
Console.Out.WriteLine("LocalDate: " + eventTimeStamp.ToLocalTime());
Причината би била, че вашите променливи localTime са настроени на точно същия времеви печат като този в UTC, вие просто казвате, че трябва да се приема като местно време. Но тази настройка като местно време не преобразува времената, тя просто казва какъв вид време е това, така че другите методи (като ToLocalTime) да знаят какво да правят ...
Ако искате това местно време в променлива, тогава може да е така:
DateTime localTime = eventTimeStamp.ToLocalTime();
И предполагам, че ще работи без настройка на вида. Ако не, знаете как да зададете вида ...