Why does it change shape when i apply the scale?
It's because your modifiers act on original mesh scale 1.
Say you have a 1m diameter pipe mesh with 0.1 m thickness with the Solidify Modifier.
If you make it 2m diameter (scale it to 2 without applying it), you now have a 2m diameter with a thickness of 0.2m despite the Solidify Modifier still showing a thickness of 0.1m. The new scale and thickness are shown in the Viewport, but the modifier shows the values valid for a scale of 1)
And if you now apply the scale, the new thickness would be 0.1m because that's what the modifier is set to.
NOTE:
Scale is for the object and the modifier values are for the mesh. Object is separate from mesh (you can change the mesh that is used in your object anytime)