Issues with Bindings and UITextField representable redraws in a sheet

Hey there! In my app I'm targeting iOS 14 and I've run into a bit of an issue regarding controlling the focus state of a UTextfield in a UIViewRepresentable with bindings while my View is embedded in a sheet and I'm wondering if anyone else has run into any similar issues or maybe can point out a better practice for working around this.

To summarize, I've got a BindableState variable to specify which field is currently in focus and passing in a Binding<Bool> to my representable to control the state. The logic in updateUIView() looks like this:

if self.isFocused, !textField.isFirstResponder, textField.canBecomeFirstResponder {
    DispatchQueue.main.async { textField.becomeFirstResponder() }
} else if !self.isFocused, textField.isFirstResponder, textField.canResignFirstResponder {
    DispatchQueue.main.async { textField.resignFirstResponder() }

I also keep the binding in sync by updating it from the text field delegate calls, like didBeginEditing in the coordinator, the code for that looks like this:

private func setIsFocused(_ isFocused: Bool) {
    DispatchQueue.main.async { self.isFocused = isFocused }

All seemed well until I started presenting this view via a sheet modifier. For some reason, while in a sheet, the view store will call objectWillChange.send() which triggers updateUIView to be called before the actual state changes. This is an issue, for example, when the text field begins editing, calls the above function setIsFocused(true) and triggers updateUIView() to fire while isFocused is still false.

And interestingly, this only happens while in a sheet. If the view is in a fullScreenCover for example it functions as expected.

I've been trying to wrap my head around the lifecycle of this view, how TCA sends updates when the view store updates, and figuring out possible solutions but to no avail. Has anyone run into an issue like this? Or is it possible that it's just not a good idea to be controlling the focus state of a view like this?

Thanks in advanced for any thoughts!