The payload contains the bdaddr (public or random) and advertisement information. This must be available to the central. Did you encounter any situation where it's otherwise?
Yes, this information does not appear to be available iOS. I am not sure why this is.
Apple controls/restricts what advertisements can be received in an iBeacon protocol.
However, you can "stuff" additional octets in the Non-iBeacon Advertising packet - But then you violate the iBeacon spec.
So the iOS App can see the Advertising Payload with additional octets.
This is described in the CoreBluetooth Framework on the Apple Developer site.