Unfortunately this fix doesn't work where there are more than 2 handles (now that #4387 stops you dragging handles past each other and #4388 allows you to have a range with more than two handles). Possibly this should be opened as a new ticket since the fix was effective until I wrote the other two fixes?
Anyway, I have a solution which has sounder logic (I think!). We take the closest handle to be the highest one (as in the furthest right) rather than the lower one. This makes more sense to me anyway as I would expect the higher number to be top of the stack (until there is a fix for #3467).
Then if the closest handle is at the top value and the handle below that is also at the top value then we select the handle after. Rinse and repeat until we have the bottom handle of the stack (as it is either the last handle or because the handle below it is at a lower position on the slider). That's our active slider and the user can drag it downwards. No need to have any logic around range because when there is only one handle it will fall straight over the loop anyway...
See attached patch for more clarity.