You don't need rai-to-rail to drive an NPN. Only input range extending to ground is needed for current sensing and a fair bit of output current to drive the base.
I'm not sure if this heatsink is good for 50W, particularly without forced air cooling. What's the temperature of the transistor's metal plate? Longevity may be a problem if it's too high.
This circuit will probably work as-is without adventures because current draw is constant, but normally you should include some 100uF electrolytic at the input of every device powered through cables. Otherwise, sudden changes in current consumption cause ringing between cable inductance and the very low supply input capacitance of the device. Increasing supply capacitance reduces ringing frequency and amplitude, until it effectively goes away.
FETs which are intended for audio amplifiers will work well in a DC load but I prefer to use transistors in DC load design because these have an inherent current sink in their collector which makes sinking a constant current a matter of servoing the temperature effect out (which is a slow process).
You would think so but BJTs aren't always that great at low voltages and FETs too have channel saturation effect which makes them pretty much a CCS at sufficiently high drain voltages. The aforementioned MTP3055 is CC at currents up to 8A if Vds is above 3V. As usual, the datasheet of the specific device needs to be consulted.
Another advantage of MOSFETs is their usually lower thermal resistance. That being said, I've used a BJT too because they are slower and (I think) easier to stabilize. My sink has nothing between the opamp and pass transistor besides a base resistor, which is also needed as jumper. It's rock stable, at many combinations of currents and voltages up to 10A and 24V.