Would it be correct to assume that inner query ordering will follow into my outer query? Is it spelt out someplace in the documentation that if I do this:
SELECT *
FROM (
  SELECT *
  FROM foo 
  ORDER BY bar ASC
  LIMIT 1000
)
LIMIT 10
OFFSET 10

then the inner query ordering will carry on into the outer query?
Or do I need to repeat the inner query ORDER BY in my outer query? This is assuming that we don't have any joins.
You cannot depend on any ordering unless you have ORDER BY in the outer query. The ordering will depend on the execution plan chosen.
In the case of the present query I cannot think of a reasonable execution plan that would not preserve the ordering, but who knows what the future will bring for the query optimizer?
I would write a second ORDER BY. Sorting 1000 rows is cheap, and you can be certain then.