This issue started with commit fe9e90f5
I appreciate the work done on bisecting this issue. I still don't agree with the analysis though. This commit is a relatively straightforward factoring-out of code to a different file/class, and nothing in it explains (to the best of my interpretation) why it would have substantial effects on keyboard support.
We also know that upower has been a little slower to start up, or maybe powerdevil got faster, either way. This seems like a timing issue more than anything else.
I agree with @davidedmundson that this is not the right fix for this problem - the right fix would be building on @iasensio's previous patches to handle UPower appearing and disappearing after powerdevil was started.
But also, if we merge a hack now, there will be even less motivation for anyone to work on the right fix. There's of course a trade-off between relying on hacks indefinitely on one hand, and inflicting continued pain for users on the other hand.
I'm personally leaning toward not merging the hack, because a suffering user does have all the tools at hand to apply the hack locally without much of a downside. And at the same time, we need to fix the issue properly with a service registration listener for KeyboardBrightnessController.