Row numbering difference between mariadb and mysql
From a logical perspective, ORDER BY is applied after (@row := @row + 1), so which row gets which number is non-deterministic. However, there may be something in the documentation, that guarantees that assignment of @row respects the ORDER BY. In that case, you should file a bug, if not I would not trust that it does.
I really don't understand why you are developing against an ancient DBMS, and running a much newer version in production, I think you should upgrade your local DBMS so that you have the same version.
Upgrading and using window function will get you out of trouble:
SELECT row_number() over (order by qry.used_present DESC, qry.brand ASC) as score,
    qry.brand,
    qry.model,
    qry.used_present
FROM (
   SELECT cars.brand,
          cars.model,
          (used_cars.price IS NOT NULL) AS used_present
   FROM cars
   LEFT JOIN used_cars 
       ON used_cars.model = cars.model
      AND used_cars.brand = cars.brand
) AS qry
ORDER BY qry.used_present DESC
       , qry.brand
;