I think the scheduler simply wants to say: we expect to go idle for X ns, we want a guaranteed wakeup latency of Y ns -- go do your thing.
as long as Y normally is "large" or "infinity" that is ok ;-) (a smaller Y will increase power consumption and decrease system performance)
I think you also raised the point in that we do want some feedback as to the cost of waking up particular cores to better make decisions on which to wake. That is indeed so.
having a hardware driver give a prefered CPU ordering for wakes can indeed be useful. (I'm doubtful that changing the recommendation for each idle is going to pay off, but proof is in the pudding; there are certainly long term effects where this can help)