All panels batch their own child widgets. If you have nested panels, the child panel will "own" its child widgets, and the parent panel will only own widgets not already owned by the child panel.
Giving a unique depth is what makes it possible to change the draw order of panels (same as widgets). Panel depth supersedes widget depth -- all widgets are first sorted by panel depth (think: directories), and only then by widget depth (think: files).
To reduce draw calls, examine what draw calls you have by selecting the panel and clicking the View Draw Calls button. It will give you an overview of what's there, with the ability to see how many widgets result in each draw call. The best way to reduce draw calls is to avoid sandwiching different materials. For example if you have this kind of a structure:
Button Background (sprite, depth 0)
- Button Text (dynamic font label, depth 1)
-- Button Highlight (sprite, depth 2)
...then you are creating 3 draw calls, as first the background must be drawn, then the dynamic text, then the highlight. Re-organizing it so that it's like this:
Button Background (sprite, depth 0)
- Button Text (dynamic font label, depth 2)
-- Button Highlight (sprite, depth 1)
...will reduce draw calls, as now button's background and highlight can be drawn using the same draw call.
Reducing the UI down to 1 draw call is only possible if you use only 1 panel and one atlas, with no dynamic fonts.