Armor on model doing weird stretching
First of all apply the Mirror modifier, otherwise every change you make on a side will be mirrored on the other side.
Try to correct the weight painting: Let your armature in Pose mode, in the Properties panel > Data > Skeleton > put it in Rest pose.
Switch your coat mesh to Weight Paint mode, select a bone and try to correct its influence with a brush, move and rotate the bone to test the influence. Do the same thing for the body.
To give some more precise corrections use the Vertex Groups assignments in the Properties panel > Data > Vertex Groups.
If you still see skin through the coat you can either: Use a Mask modifier to mask this part of the skin / delete this part of the skin mesh / use a Mesh Deform modifier as explained in these videos: https://www.youtube.com/watch?v=imhTnlKrTOY or https://www.youtube.com/watch?v=P6s9H8xX7YA