I'm experiencing a similar issue: views stay higher on the screen as if the keyboard is still there but it is in fact not there, only in my case it's happening when navigate through the screens with a specific timing instead of changing orientation.
I was able to somewhat mitigate it with .ignoreSafeArea(.keyboard), but it requires an additional spacer which is unacceptable in production.
Interestingly Xcode is not able to capture view hierarchy when this happens.
Were you able to resolve this issue?