Is sys.stats_columns incorrect?
This seems to be a long standing error:

swasheck - March 5, 2015 posted:

https://connect.microsoft.com/SQLServer/feedback/details/1163126 


  MSDN notes that sys.stats_columns.stats_column_id is "1-based ordinal
  within set of stats columns." However, it seems to actually reflect
  table definition order. Altering index order is not reflected in
  sys.stats_columns.


Max Vernon and James Lupolt seem to agree based on their comments/encouragement.