Not sure if this is exactly the same thing, but seems like it and I am using 2.7. I've documented what I call Ghost Layers in the Dynamic Legend. This is where a legend shows the layers you want and looks good, and like the OP stated, upon exporting to a *.jpg, suddenly the legend shows the [...] meaning there are hidden layers (Fig 1.jpg).
Expanding the legend, I see a lot of layers on my map that were not included in the legend at all. Looking at the layers in the legend, they don't appear to show up either, but they show in the legend itself on the map (Fig 2.jpg) - The red shows what should be displayed and what the legend shows is displayed, the blue is what the legend in the map is actually displaying.
My solution that I find works, is to just delete the legend, then use your <Ctrl-z> to undo the delete and then I always find all those hidden "ghost" layers now displaying in my legend in the Contents Pane. They are always listed below my last layer I want displayed. So it's easy to just select all those unneeded layers and delete them and then resave the project and re-export and I haven't yet had a map with it coming back after doing this (Fig. 3).
Note: My figures were taken from various maps I've experienced the issue with and not the same map, but the general principle is the same.
Just my little fix for something similar or even the same issue. Hope it helps...