ちゃんと調べ直したところ,ちょっと古いですが,
ISO/IEC 14882:2003 さんが書きました:11 Member access control - 11.1 Access specifiers
2 The order of allocation of data members with separate access-specifier labels is unspecified
という記述がありました。
これを勘違いしていたようです。
ただ,割り当て順が変わればパディングが変わる可能性があるため,クラスのサイズが変化する可能性は十分あり得ます。
もし,目的がクラスの実装を見せたくない,やヘッダファイルの参照が深くなることが問題,といったことならpimplイディオム使うなどして隠すという方法を使うのがよいかと思います。