New field based on sum field
Yes, columns in the select-list cannot reference other columns by alias. This is standard SQL.

MySQL does not guarantee the order of evaluation of the select-list from left to right, so it would not be a recommended practice to use variables like you show.

Another workaround is to do computations and create column aliases in a derived table, and then reference them in the outer query. This is standard SQL and is reliable. 

SELECT old_price, old_price + 100 AS total_price
FROM (
    SELECT sum(price) AS old_price FROM sales
) AS t;