The jenkins ItemListener does not fire events when user updates project labels. I would expect the onUpdated event to fire.
Steps to repro:
1. create a new project
2. select 'Restrict where this project can be run' box and add a label that matches a slave the save the project.
3. now configure the same project and change the label to match a different slave then save the project.
Note1 - No events are fired.
Note2 - If on step #3, you un-select the option 'Restrict where this project can be run' (thereby removing the label) then save an event does get called.