Does the scaling on the Character change in the Inspector while on a platform at runtime? I'm pretty sure this is related to the Platforms scaling, try it with a platform that is not scaled (1,1,1) to verify that even if it doesn't show up in the inspector.
If that's if fact the issue you should try to work with an in between unscaled helper object or make sure your platforms aren't scaled.
Else you could try to update the character's position relative to the platform every frame as a workaround (not ideal I know)