Place an observer facing a barrel and open the barrel: the observer fires. Do the same with a chest: nothing. Same action, same kind of block, opposite results - and nothing in the game explains why.
The pattern behind it: changes that are stored as block states (a barrel's lid, a door, a lever) are observable, while changes that are only animations (a chest's lid, a bell swinging, a decorated pot's wobble) are invisible to observers - even though they are exactly as visible to a player watching the block.
The observer's promise is simple: "detects changes in the block in front of it". But players cannot predict which changes count without knowing how the game stores them internally. A rule you can only learn by looking it up is not a good game rule - especially when two storage blocks sitting side by side behave differently for the same action.
Suggestion: make these visually obvious changes observable, for example as a brief on/off state when a chest opens or a bell rings - or at minimum align the pairs that contradict each other today, like chest and barrel.
(Sculk sensors do hear these events as vibrations, which is great - but observers are the accessible early-game sensor, and the barrel/chest inconsistency is not solved by pointing to a different block.)
This issue is already being tracked in MC-107664. I have resolved this report as a duplicate.