Avoding CT and other sins?
Your solution honestly sounds great and better than proposed solution in readability, length, probably performance as well (although it's never too easy to know the engine complexity based on how they optimizes requests). And from my understanding there is no semantic difference.
Some nitpicks: I indent request differently, and I use the column name rather than index in the GROUP BY
SELECT r.name AS region_name,
       COUNT(*) AS orders_n
  FROM orders AS o
    INNER JOIN accounts AS a
      ON o.account_id = a.id
    INNER JOIN sales_reps AS s
      ON a.sales_rep_id = s.id
    INNER JOIN region AS r
      ON s.region_id = r.id      
  GROUP BY region_name
  ORDER BY SUM(o.total_amt_usd) DESC
  LIMIT 1;

The request optimization engine will equally optimize your request and decide itself the join order if you use a WHERE clause. So you can also write it like this
SELECT r.name AS region_name,
       COUNT(*) AS orders_n
  FROM orders AS o,
       accounts AS a,
       sales_reps AS s,
       region AS r
  WHERE o.account_id = a.id 
    AND a.sales_rep_id = s.id
    AND s.region_id = r.id      
  GROUP BY region_name
  ORDER BY SUM(o.total_amt_usd) DESC
  LIMIT 1;