The dispenser does not fire any event, of any kind, when it dispenses items. The BlockEvent class (and its subclasses) are for events like crops growing, blocks being placed, blocks being broken, etc. They are very specific (I do not believe that BlockEvent is used in any context except via its subclasses). Also, if you look at BlockDispenser and the dispense method, you'll see that no events are posted.
If you want to change how the dispenser dispenses items, you can do that by adding and removing entries to the DISPENSE_BEHAVIOR_REGISTRY