There seems to be a problem with home fields exporting out of order as soon as the first a "Home" field is output. I noticed this on my site and replicated it on the demo site (Civi 4.7.29 on Drupal). Examples:
On the demo site
Selected fields: phone-home-phone, firstname, lastname, email-home
Exported CSV: phone-home-phone, email-home, firstname, lastname
On my own site, example 1
Selected fields: email-home, email-work, email-other, phone-home-phone, phone-home-mobile, phone-home-voicemail, contact id, firstname, lastname, postalcode-home, city-home, state-home, country-home, birthdate, gender.
Exported CSV: email-home, phone-home-phone, phone-home-mobile, phone-home-voicemail, postalcode-home, city-home, state-home, country-home, email-work, email-other, contact id, firstname, lastname, birthdate, gender.
On my own site, example 2
Selected fields: contact id, email-work, email-other, phone-home-phone, phone-home-mobile, phone-home-voicemail, email-home, firstname, lastname, postalcode-home, city-home, state-home, country-home, birthdate, gender.
Exported CSV: contact id, email-work, email-other, phone-home-phone, phone-home-mobile, phone-home-voicemail, email-home, postalcode-home, city-home, state-home, country-home, firstname, lastname, birthdate, gender.
It seems I should submit this as a bug, but perhaps there's a fix I'm not aware of.