It's not just that the ace:notificationPanel is shown behind the ace:tabSet, but that it's shown behind the source code ace:panel's header and content areas, with the source code tabSet being inside the source code panel.
And that's not from the source code panel having any special z-index or other layout but simply because the notificationPanel is inside of another ace:panel, that is a something of a peer of the source code ace:panel. As soon as the notificationPanel has a z-index of even just 1, then it shows over the panel header and content areas. A quick search of z-index in the ACE code shows that several components use z-index in the single digits for their regular layout, and several popup/overlay components use z-index of API that searches other z-index values already visible in the page, and dynamically calculates a larger one. Also, adding a z-index property to the notificationPanel would be in line with ace:draggable, but would not be as preferable as dynamic calculation. For a proper hard-coded value, we would need to decide which should display in front, menus or the notificationPanel.