Specify default sort header for a sortable table (tablesort) in D8?
I was trying  $header= [ .... ['data' =&gt; .... 'sort'=&gt; 'DESC' , and that was not working. After step debugging, I found out the sort value is case sensitive. In function tablesort_get_order we have 

  if (empty($default) &amp;&amp; isset($header['sort']) &amp;&amp; ($header['sort'] == 'asc' || $header['sort'] == 'desc')) {
    $default = $header;
  } 


So it must be lower case to work. So the follwoing code achieve the desired behavior:

$header = [
      // The header gives the table the information it needs in order to make
      // the query calls for ordering. TableSort uses the field information
      // to know what database column to sort by.
      ['data' =&gt; t('Numbers'), 'field' =&gt; 't.numbers'],
      ['data' =&gt; t('Letters'), 'field' =&gt; 't.alpha'],
      ['data' =&gt; t('Mixture'), 'field' =&gt; 't.random', 'sort' =&gt; 'desc'],
    ];


hope this helps others.