This is about sealed vs. unsealed array shapes.
Unsealed array shapes allow extra keys. Right now PHPStan’s array shapes mostly act as unsealed, but sometimes it’s inconsistent.
There’s an open issue about it: https://github.com/phpstan/phpstan/issues/8438 (one of the most upvoted issues so it will get solved sooner or later)