I do something very similar to this in one of my apps.
Except in my case, the text input component is initially hidden, and I provide an “Other” option in the choice component.
If the user selects “Other”, then the text input component is revealed, and the user is prompted to describe the new choice item.
And then this gets added as a new row to the choices column when they submit.
So, you could use a similar setup here to check to see if Usernames are available (if available, show text entry field) or unavailable (someone already chose that particular name; do NOT show text entry field), correct?