This doesn't work when the field widget's form element is a multi-valued select.
Not sure why yet...
Turned out things were even worse with checkboxes.
Using #process just doesn't seem to be possible. Just setting a descending #process on a field form element turns a multi-valued select into a single-valued, for no reason I can determine. It causes checkboxes to vanish completely!
Hence I had to completely change the way this works.
Issue #1617956 by joachim: Fixed issues with multi-select and radio/checkbox widgets.
Automatically closed -- issue fixed for 2 weeks with no activity.
Drupal is a registered trademark of Dries Buytaert.