For anyone else experiencing a similar issue:
Dundas does not natively convert to a client’s local time zone. The main reason for this is that even a built in conversion process would require very similar overhead to just creating a calculated element, since each DateTime object would need to be converted from its server counterpart to the client’s time zone before being parsed into a string on a date preview/table. Additionally, even if individual data points don’t need to be converted into strings in the cases of some charts and non-tabular visualizations, the data points themselves would still need to be converted first. Due to the performance considerations above, datetime objects from a database are kept to their db server’s timezone and we give our users the option of creating a calculated element in such cases.
DateTime.ToLocalTime, uses the client’s machine’s time zone as the reference for which to convert the datetime object to. The data is already defaulted on the db server’s timezone and it is being converted to the time zone on the client’s machine. Here is a sample from our support article on calculated elements, which contains a line that uses the aforementioned method:
https://www.dundas.com/support/learning/documentation/cleanse-consolidate-modify-data/transforms/common/calculated-element#h6-expression-samples