Hi Eric,
You could try combining the horizontal milling with a shallow cut depth and the cut step size set to zero. Setting the cut step size to zero triggers a separate mode which only generates paths that adhere to the canvas' geometry, a sort of "horizontal finishing" mode. I think it might be useful to include an angle threshold with this feature. I'll play around with it and see what I can do.
Flat areas will still need special treatment. You could try using rest-machining with a parallel milling operation, enable cut sorting as well to minimize total rapid distance. With rest-machining enabled it will avoid cutting areas already cleared by the horizontal finishing.
Let me know how things work out :)