Continuing the discussion from last comments in #14991
It looks like unnest's implementation does preserve the output ordering of the columns that aren't being unnested, but it doesn't preserve their equivalence properties. This leads to situation where ordering information is lost and results in unnecessary unordered aggregation (which also breaks streaming queries that unnest and re-aggregate columns).