I have the same exact issue. I can't comment because my reputation is too low. I have tried everything. I am fairly certain it is a bug in the SwiftUI framework.
The answer that suggests using the indices is not workable in many cases - if the outer List has a selection binding based on the identity, selection won't work.