It’s been forever so hopefully you found a solution if this was a real world question. Off the top of my head, I would assume that it’s an issue of state updating due to the controlled inputs, and not the fact that it’s dynamic. I’d say the way to get around this is by not controlling the inputs.
Controlling is just a way to get snazzy things like quick user feedback, like if a cat name is invalid, you can let them know immediately or prevent characters from even being entered. However, if you have a form that large, you might have to trade that benefit away for performance, and do large scale form validation only on form submission. Again, just guessing, what was the answer you found? I’m sure there’s a more performant way to control forms