Определяет ли z-index уровень стека непозиционированного гибкого элемента?

В CSS 2.1z-index применяется только к позиционированным элементам и определяет две разные вещи:

Уровень стека блока в текущем контексте стека.Устанавливает ли прямоугольник контекст стекирования.

НоFlexbox говорит это:

Гибкие предметы рисовать точно так же, как встроенные блоки[CSS21], Кроме этогоorder- измененный порядок документов используется вместо порядка необработанных документов, иz-index значения, отличные отauto создать стековый контекст, даже еслиposition являетсяstatic.

Тогда, в отличие от CSS2.1, настройкаz-index для некоторого целого числа на непозиционированном элементе flex создает контекст суммирования.

Тем не менее, я не вижу нигде определенного, который должен быть уровнем стека этого контекста стека.

Аналогичный случайopacity, который также может создавать контексты наложения для непозиционированных элементов. Но в этом случае уровень стека правильно задан равным 0:

Если элемент с непрозрачностью меньше 1 не позиционирован, реализации должны закрасить созданный им слой в пределах своего родительского контекста стекирования в том же порядке, который был бы использован, если бы это был позиционированный элемент сz-index: 0 а такжеopacity: 1.

На мой взгляд, эти варианты являются разумными:

Уровень стека - это значение, указанное вZ-индексУровень стека равен 0Гибкий элемент оборачивает своих потомков в контекст стекирования, так что они рисуются вместе, но сам гибкий элемент окрашивается как обычные не расположенные в потоке элементы (как если бы он не устанавливал контекст стека).

Согласно следующему тесту, Firefox и Chrome делают первый выбор.

.container {
  display: flex;
  padding-left: 20px;
}
.item {
  padding: 20px;
  background: #ffa;
  align-self: flex-start;
  margin-left: -20px;
}
.item:nth-child(even) {
  background: #aff;
  margin-top: 40px;
}
.za::after{ content: 'z-index: auto'; }
.z0 { z-index: 0; } .z0::after{ content: 'z-index: 0'; }
.z1 { z-index: 1; } .z1::after{ content: 'z-index: 1'; }
.z-1 { z-index: -1; } .z-1::after{ content: 'z-index: -1'; }
<div class="container">
  <div class="item z1"></div>
  <div class="item z0"></div>
  <div class="item za"></div>
  <div class="item za"></div>
  <div class="item z-1"></div>
</div>

Это поведение определено где-то?