I discovered the source of the problem, but not the solution.
When I click the dropdown menus for Top Layer and Bottom Layer, my default basemap (Light Gray Canvas) is listed at the top, above all of my operational layers. So when I close the widget, it reorders that basemap on top of all other layers.
All other basemaps appear at the bottom of those two dropdown menus, so if I change the basemap my operational layers show up again.
I tried moving my <basemaps> section of code below my <operationallayers> section but that didn't make any difference.
Any thoughts on this?