This is because a value other than none
establishes a stacking context. This is documented in the spec (which is currently in Working Draft status):
This specification defines a set of CSS properties that affect the
visual rendering of elements to which those properties are applied;
these effects are applied after elements have been sized and
positioned according to the Visual formatting model from [CSS21]. Some
values of these properties result in the creation of a containing
block, and/or the creation of a stacking context.
Also the spec states:
5 Graphic filters: the filter property
A computed value of other than
none
results in the creation of a
stacking context [CSS21] the same way that CSS opacity does.