This is a hard-coded default in the driver at the moment. The driver provides 'priorities' for given types, see e.g. the SQL Server driver sourcecode, the DBDriver class, the method FillDBTypeSortOrderList. It provides per type a list of priorities. It also provides a list of filter lambdas so a .NET type with certain characteristics will result in a given type, e.g. DateTime. This is done in: FillNETToDBTypeConversionsList. So the .NET type 'DateTime' results in 4 different types. It then looks up what type has the highest priority (0), which is DateTime. DateTime2 is 4th.
At the moment the only way to customize is to alter the sql server driver. We didn't provide a UI for this as configuring is in most cases not needed and one can alter the field on a field by field basis if one wants to choose something else than the default.
However your situation shows that the lack of options to alter this sort list makes it hard to avoid the default when you want to do that for every field. For the current version we can't add it, but we'll look into adding a UI for this in the next version, to make sure users can define these lists to meet their requirements.