Why does a rule with item trigger doesn't process ItemStateEvent

You can’t, if there is no event.
You can listen for changes in the dimmer state, as you do.
If openHAB didn’t command that, then it was an external event.
Determining who-done-it is harder.