I'm working with VICE, as I wasn't able to set up MAME properly. Judging by MAME source code, it does emulate IRQ on shifting, or trying to do so, at least. Latest updates to 6522 emulation there were doing in August, so it is kinda alive.
Emulation quality in VICE, on the other hand, is kinda questionable. It is incomplete, and the way the sound emulated is really weird. Like, direct CB2 control sounds unfiltered, while SR-driven sound is clearly filtered with very weird curve, it gets quieter as the pitch rises, up to the point of being really faint, then gets back to normal volume. So it sounds like a mess in a normal music. Also pitch and frame rate seem to be a bit off.
I didn't find any in-depth docs other than that you're mentioned, and I missed pet-io-2.txt altogether (thanks!). I also used 6522 datasheets, there is three of them, and they're actually different. Synertek SY6522 from 1982 (not 1978!) seem to be more detailed in the timers section. I also looked up VICE and MAME source code.
As I don't have access to the real thing, and active back-and-forth is kinda difficult to do (David is busy man), I can't say for sure. However, Synertek datasheet mentions it explicitly - first enable shifting, then load value to the register to start shifting. As for bit 5 of ACR and loading $ff, I did it other way, by toggling bit 5 of PCR - it does work on the HW regardless of the shift register contents. However, there is the missing notes issue, may be related to either of these things. Will try your approach (looks more elegant), thank for hints.