His cap hit is 12th among QBs and it's only higher than 5 QBs past their rookie contract not signed to be backups. You could argue that he's better than at least 4 of them.
Carr - 21.5M
Alex Smith - 21.4M
Jacoby Brissett - 21.375M
Kirk Cousins - 20M
Matt Ryan - 18.96M
Carson Wentz - 18.66M
Teddy Bridgewater - 14M
My point isn't that Carr is good. My point is that this is the range that even moderately effective QBs get paid on their second deal. Any QB has a smaller cap hit than, on their second or further contract, is a backup or was signed to be a backup (Mariota 9.1M, Fitzpatrick 8M, Taylor 7.5M, Foles 6.6M, etc.)
Before you scream, I realize there are QBs who have signed extensions that have lower cap hits right now, Mahomes and Watson come to mind, but the extensions haven't kicked in yet so technically this is still the rookie deal. Both of their cap hits go up astronomically next year when the extensions begin.
By the time Carr's deal ends in a couple years his cap hit will be 19.9M and it won't look out of line for an average NFL starter. It's not really that out of line now given the dynamics.