Does InputField.ContentType.Name override user attempts to change capitalization by design?

I’ve created an Input Field that asks the user for their name. I wanted the field to default to using uppercase letters for the first letter in the name entered so I used InputField.ContentType.Name. This seems to force every new word to have an uppercased first letter.

At first I thought this was fine because the description in the documents states that users can override this function:

“The InputField is used for typing in a name, and enforces capitalization of the first letter of each word. Note that the user can circumvent the first letter capitalization rules by deleting automatically-capitalized letters.”
2018.4 Documentation

This is exactly the behavior I want. I want the user to be able to override the default but I want the default to be to capitalize first letters.

However, when I try to delete an uppercase letter, it re-capitalizes the next letter anyway. And I can’t have a two uppercase letters in the same word. The following names are impossible:
MC Hammer => Mc Hammmer

Louis the Stammerer => Louis The Stammerer

McAfee => Mcafee

My questions are: Is this the expected behavior (if so the document is wrong or misleading)? & How can I get the behavior I’m looking for?

A look at the code:

    using UnityEngine;
    using UnityEngine.UI;
    
    public class CharLimit : MonoBehaviour
    {
    
        public InputField nameField;
        public Button ok;
    
        void Start()
        {
            nameField.contentType = InputField.ContentType.Name;
            nameField.characterLimit = 20;
            ok.interactable = false;
        }
    
        void Update()
        {
            if (string.IsNullOrEmpty(nameField.text))
            {
                ok.interactable = false;
            }
            else
            {
                ok.interactable = true;
            }
        }
    }