The code example you give isn't an example of evaluation order, it's an example of different expressions not giving the same result.
Order of evaluation being irrelevant means that when evaluating
(cons 'a (cons 'b nil))
it doesn't matter whether you first create the outer or inner cons cell. Or, for that matter, whether you do anything at all at this point (you could for instance just suspend the entire expression as a thunk and only evaluate them when you try and access values within the list -- i.e. lazy evaluation).