From rules you can use Rule Actions (existing hue action) to achieve this. From a UI perspective you can now access these thing actions from the API starting from 4.0 M1.
IMHO your suggested workaround could easily become flaky on a slow or overloaded system. I found this question while researching; to me it is unclear whether openhab guarantees events to be ordered in the same way as they are sent - or if dimming could be delivered before duration even if duration was sent first. Maybe @J-N-K could comment?
Also, for lights i personally find 2 seconds delay unacceptable because I expect immediate visual feedback when pushing a button to turn lights on. In fact, the reason I am testing your updated binding is to get rid of the state update delay when increasing/decreasing brightness with 10% from a push button on the wall ![]()