I figured out a way to do this, not sure if this is the best way. But basically, when the sort event is fired and the current SortDirection value is null, I set it to Ascending so that the default sorter changes the SortDirection value to descending, and this only happens in the first sort, because this is the only time that SortDirection is null.
myGrid.Sorting += (s, e) => e.Column.SortDirection = e.Column.SortDirection ?? ListSortDirection.Ascending;
source
share