There are a number of hard-coded tables in LocaleIDs that are used to validate and canonicalize language tags. We should be picking up that data from the CLDR alias data.
Now, it could be that those tables are generated from the alias data by a separate tool, perhaps to encapsulate the data for modularization. But that wasn't clear to me. The tables don't appear to have all the data, so if they are generated by tool we should adjust the tool.