Sure, the ACS714 will work, it is isolated so no worries about reading from the high side. Placing it between Vout and the load will be fine as it is very low resistance.
However, it only puts out 66mV per amp of current, centered at 2.5V. That is only 13 bit changes per amp, or 67 bit changes from 0 to 5A. That is about 74mA per bit change. IE, zero current will be a reading of 512, and 5A will be 579. Just about 6 bits of resolution (2^6 = 64).
You could potentially level shift with an Op Amp so 0A is 0V, and amplify it. I'd also change the Aref source. By default it uses Vcc for the Arduino, but that means it is subject to the accuracy and stability of the Arduino's power supply. If you change to the internal reference, it is very stable over time, temperature, and Vcc changes. In addition, it is much lower, only about 1.1V. So 330mV of change from 0 to 5A would be about 306 bit changes, or about 8-1/2 bits of resolution.
I agree, the Arduino is too slow to rely on to limit current. I'd hook up an Op Amp to limit current. It can be connected to an NPN transistor across the adjustable resistor to ground, the Op Amp wired to go High on the output to turn on the transistor and pull the adjustment terminal Low. Or an open collector comparator wired to pull Low when the current goes to high. And make it and adjustable setpoint, using a digital pot so the Arduino is setting the maximum current.
What happened to the LM338? It is great that the LTC3080 can go down to 0V without additional circuitry, but it takes 1.5M ohm to get to 15V with that chip.
Look at the bottom of page 17 of the PDF, it tells you how to use a -much- lower value adjustment resistor while only sacrificing the zero volt output, bringing it down to 0.5V minimum.
http://cds.linear.com/docs/en/datasheet/3080fc.pdf
And if you look at the bottom of page 18, it shows how to add one more as a current regulator. So you'd use the first part of the circuit with an isolated 100k digital potentiometer, and for the second LTC3080 you'd use the circuit from the bottom of page 17 in order to use a lower value digital pot.
Keep in mind that most digital pots are only 8 bit resolution. OK for setting the maximum current, but at 15V output max with 8 bit resolution that is about 59mV per bit change. OK, well, that's pretty good, actually.