Статический внутренний класс связан с внешним классом на уровне класса, а не на уровне экземпляра.
В результате он может получить доступ только к статическим членам внешнего класса, работая в этом отношении идентично статическим методам.
Следовательно, это не ошибка компилятора, это ожидаемое поведение.
Когда вы используете super.x, вы получаете доступ к элементу данных x из экземпляра суперкласса, который лежит в основе экземпляра вложенного класса, для которого выполняется конструктор, поэтому он имеет доступ.