This kind of thing gets very tricky. In theory you could do it all with one 5 amp 5 volt supply, in practice it might be better with a 12 volt supply and independent switching regulators for the computers vs motors.
Power the pi via the 5v pins on the GPIO header or the power-only USB jack.
Let the pi power the Arduino.
Where you want to run in an independent power supply is to the motor drivers themselves, as distinct from the Arduino hosting them.
Note that stepper motors are best driven with a chopping switch-mode driver using a power supply several times the rated coil voltage, otherwise winding inductance means torque falls of sharply at high rotation rates. The generic motor shield you list is not a very good choice. You might instead look at one of the Arduino shields or unitary Arduino-derived boards designed for 3d printers or other CNC uses, as these tend to have chopping driver chips/modules such as the A4988 or similar/competitors. These will need to support the current rating of your motors or they will underperform.
You'd then power the motor drive directly from 12 volts (or more!) and use a switching regulator to power your pi (and through it, Arduino) from 5v regulated down from the 12 volts. Given the power demands of the pi, this really needs to be a switching regulator, not a linear one.
You don't really need a "shield" to drive a servo; just a PWM pin. If using a higher voltage main supply, the servo should get it's own switching regulator, so that any "stall" there doesn't cause a brownout of the 5v supply to the computers.