Hi Andik,
i believe this is a bug in either the platform or the widget, where once the widget has initially been drawn on the screen, changing of the disable property doesn't cause it to be redrawn/updated.
You could put it inside an if, and have some alternative content in the else, as is often done for widgets that depend on data fetches, but if you want to show it disabled, you could make following workaround (ugly, but easier then trying to debug the widget)
- put the widget in a container
- give the container a class dependent on the disabled condition

- add this css (the css avoiding the click is the pointer-events:none, the rest is an example on how you could make it visual that it is disabled, to be changed to a style of your liking)

See in attachment your changed oml
Dorine