Is it possible to alter the final push payload in JB4A under "Mobile push" without actually affecting the push message content? For ex: I want to dynamically include some key-value pairs for each push being generated based on OS (Android/iOS) where a particular key maps to dynamic value derived from user attribute in data extensions and there could be multiple such keys and further the app can run some extra logic based on these key-value pairs received with a push?
Yes, this is a common use case. You will use a combination of
Custom Keys and
AMPScript to populate values sent along with the push message payloads. Then you simply need to override the default push handling to account for the actions you wish to take based on these values.
You can find the application implementation details in the documentation found http://salesforce-marketingcloud.github.io/JB4A-SDK-Android/features/custom-keys.html and http://salesforce-marketingcloud.github.io/JB4A-SDK-iOS/features/custom-keys.html