The provided solution fixes an error introduced in SDK v1.7.0 but was not backported and is only part of SDK v1.11.0. Hereby, I want to express my dissatisfaction with that.
At Centrifuge, we are currently updating our Codebase from SDK v1.1.0 to v1.7.2. Thanks to Chopsticks, I noticed a reduced list of queued session keys as well as an empty collator candidate list when applying our WASM to the live state. Seeing that we were in sync with the latest storage version v1 of the collator-selection pallet, I assumed the issue was introduced on our side. Only after deeper digging, I noticed the breaking change in the mentioned pallet without any fix for our dependency version.
It is really frustrating as a builder to have to deal with such bugs introduced from the SDK even though there is already a fix available. Another example is the parachain_system::HostConfiguration breaking storage change without bumping the storage version or providing a migration. It appears to me that the SDK needs to have stricter checks for any storage changes!