Problems with collision when non-uniformly scaling character

I am currently working with the default character in the third-person template; I have set up areas programmed in C++ where if the character walks into a certain sphere, the character stretches the z scale to make a flat character. Another sphere also stretches the x scale to make a thin character. However, I’m running into some issues with it while running in the editor.

For the z-scaled character, the capsule component is flatter but remains mid-air, acting as if it has collided into the ground. For the x-scaled character, the capsule component is thin but sinks into the ground and then stops, as if it has collided somewhere below the ground.

However, when I set the initial character blueprint to non-uniform scaling in the z scale, the character works perfectly. Setting it initially to the x scale results in a capsule that remains at full scale, with a character mesh that is thin but floaty.

I wish to keep all this scaling in the code, though; is there any way to set collision for the character such that it collides properly when made thinner or flatter?

I checked and it may have something to do with properly setting the floor of the movement component; how might I be able to do this based on how I’m scaling the character?

This is an example of the problem; my version is 4.6.