I called again and was again transferred from chat to phone to senior advisor who then was able (seemed indirect) to read an engineering response saying it was not possible to change a child age to an adult age. (They didn't explain why this shows a server error!)
This is contrary to Apple's documentation HT204164 which says only ages under 13 require an Apple support call to change.
Either Apple has changed policy without updating documentation or the engineer is confused. I have asked to reescalate to engineering with reference to the support doc. If that fails I suppose I could try changing his date of birth to be closer to adult (if that's possible) then when he ages to adult change it again.
I'm pretty sure this is a bug ("server error" is not a normal error message) but I also wonder if enabling Apple card on an account locks birth dates and that Apple engineering doesn't know that.