I believe this is worth a note in the ReleaseNotes.rst file. People who might have disabled the check specifically for the reason outlined in the PR would get to know it's safe to reenable it.
If we are changing this, can we make this more C++-y?
+1 to the request for a release note, but otherwise this LGTM (with or without the static_cast changes) in general. Should we also do something special for [[no_unique_address]] (if we should, I'm fine doing that in a follow-up)?