The reason why Action doesn't work while EventCallback does is that Blazor does some magic for the latter - calls StateHasChanged() implicitly after the callback code runs.
So, with the above sorted out, my app seems to be working. However, I received feedback from someone regarding the component implementation. They basically said it's a bad idea to change the component parameter from the setter.
Here's the full details regarding their critique:
Now, as far as I can tell, what they're saying not to do seems to be exactly how RadzenSlider is implemented. I.e. the setter of Value changes the parameter value:
From this I'm taking that perhaps its not so bad to do this after all?
Value property of all Radzen form components including RadzenSlider is especially designed to support two-way binding (it has ValueChanged callback) and this is how every two way bindable property should work.