The FAQ says that an .OLN file is supported for the outline layer, but it didn’t seem to work when I tried. I modified the SFE CAM file for Eagle to put the outline into the .OLN file instead of including it in the .GTL. It uploaded without error, but seemed to be completely ignored. The calculated board area was smaller than with the stock SFE CAM file, and it looked pretty clearly like it’d just taken the (smaller) outside edge of the ground plane as the outline.
Putting it in the .GTL works, but I think I would prefer to use an explicit outline if I could (Zen of Python: “Explicit is better than implicit”). It would also avoid issues with the DRC and the outline trace width (and wondering if I make the width fatter for the DRC wether my board gets routed to the middle of the trace, or one of the edges).