Yeah, this is odd. My guess is that keyboard and gamepad "On pressed" events trigger at different stages in a tick. Perhaps the keyboard event triggers earlier, before the Platform behavior makes its vector calculations. So the event sets vectorY to -400, then the behavior reduces it by gravity value. So at the end of the tick the vector value is already reduced to something like -370.
In case of gamepad, the behavior updates the vector first, then the "On A pressed" event sets vectorY to -400, which remains -400 until the end of the tick. That's why the sprite jumps higher.
Player.Platform.VectorY returns -400 in both cases, but from my experience you can't trust vectorX/vectorY expressions, they often return wrong (not actual) values. See this bug report for example:
github.com/Scirra/Construct-bugs/issues/6323
Three objects move at different speeds, by vectorX returns the same value for all of them..