Apple servers are able to re-pack your application. For each device Apple determines which resources will be actually used. They prepare package for the given device (for example only images with correct scale for given device will be included in package). Also, if bitcode option is enabled, they are able to re-compile your app in order to provide optimized binary for each device. All of the above might change the size of your application.
A universal .ipa
is a compressed app bundle that contains all of the resources to run the app on any device. Bitcode has been recompiled, and additional resources needed by the App Store, such as .dSYM files and On Demand Resources, are removed. For App Store apps, this .ipa is downloaded to devices running iOS 8 or earlier.
A thinned .ipa
is a compressed app bundle that contains only the resources needed to run the app on a specific device. Bitcode has been recompiled, and additional resources needed by the App Store, such as .dSYM files and On Demand Resources, are removed. For App Store apps, this .ipa is downloaded to devices running iOS 9 or later.
source
You can check the size of the executable for each build in app section of iTunesConnect. Just enter Activity-> Click your most recent build ->App Store File Sizes.