I am wondering in particular about PostgreSQL. Given the following contrived example:
SELECT name FROM (SELECT name FROM people WHERE age >= 18 ORDER BY
The are not guaranteed to be in the same order, though when you run it you might see that it is generally follows the order.
You should place the order by on the main query
SELECT name FROM (SELECT name FROM people WHERE age >= 18) p ORDER BY p.age DESC LIMIT 10