The sorting issue is likely because that field is a text field, not a numerical field. Numerals sorted as text will not sort the way you expect. Here an example…
if sorting 1–10 as numeric in a numeric field you would get 1–10 in order as you expect. However, since it is a text field you would get:
So, you’re large numbers are likely in the right spot and not random, given that context.
Probably, depending on what you entered exactly in the zipcode field, you could alter the query Connections makes when ordering by zipcode using this method:
Bets guess without digging deeper, you’d have to add it after this line of code:
Hope that helps!