You are correct that this is technically in code and would protect against shock hazards in a neutral error situation but you also get the opportunity for the outlet to pop during the day when nobody is home and the battery to die.
We had a situation in our old house where someone who was technically correct but didn’t think it through had a gfci outlet upstream of the refrigerator outlet. Thankfully it popped while someone was home and we got everything corrected before we lost everything in the fridge.
Octoprint is what I use. Slicing is probably the thing it woukd be least good at but all the rest is good. And theres an api to write plugins for if youre into that sort of thing.