Presumably foreach is guaranteed to iterate array elements in order: "The elements are visited in storage order, regardless of the number of array dimensions", quoted from this:
Since parallelism is coming up, will this behavior stay as documented? My arrays are as big as 20K-30K elements, maybe more.
I cannot to say, what will be in next years - but it is less probable -- plans for parallelism are related for SQL executor internals - like parallel sort - or parallel hashing.
we have no plans do plpgsql parallel - now works well - and it is relative simple to maintain it.