In validate_state, we should ensure that all state-based collections only contain those tasks that are in the desired state. We already do this to some extent with https://github.com/dask/distributed/blob/main/distributed/worker_state_machine.py#L3180-L3188, but we should extend this to include validation for the other collections as well, notably self.constrained and self.ready.
XREF: #6698 (review)