HLA phenotypes can be determined based on the HLA genes. An HLA gene might have 1000 or so alleles, and due to pretty extensive documenting of it, we know that certain alleles in certain places result in the different pre-defined and categorized phenotypes.
The easiest and most certain way to figure out the phenotype is to look at the entirety of the relevant HLA gene, and see which version it matches up with, since there can be dozens of SNPs to look at to determine which phenotype someone has. So instead of looking at a single letter (SNP) to determine risk or other characteristics, you're looking at an entire sentence of consecutive alleles, where all the possible variations of that sentence are already known.
As an example, the possible "sentences" might be:
A) There is a dog on the roof.
B) There is a cat on the roof.
C) There is a dog in the roof.
D) There is a dog in the room.
E) There is a dog on the roof and it smells funny.
These different versions of the gene will basically line up like the sentences above. Some might be a bit longer or shorter, but most will have tiny variations resulting in the different phenotypes. If you can see the full sentence with complete sequencing of the gene, then it's simple to see what version you have - it's spelled out!
But if you just test a few SNPs, it can get more complicated. Testing focused on HLA could get away with incomplete testing of the gene, because it's known where the important variations are. Thus we might figure out the sentence by testing in certain positions (numbered) while ignoring the unimportant ones:
There is a 1 2n the roo34
So to figure out the haplotype from the above options, we can just look at 1 for "dog" or "cat", 2 for "i(n)" or "o(n)", 3 for "(roo)f" or "(roo)m", and 4 tells us if the sentence stops or continues.
But 23andMe isn't really testing the places that make a difference - they're mostly just telling you that "T???? ?s a ??? o? ??? ????." So entirely the wrong data we need to determine HLA phenotypes, though little bits and pieces can give clues. For HLA-DRA we get enough clues from 23andMe to figure out some patients phenotypes but not others. For the other HLA genes, there doesn't seem to be any useful clues from 23andMe.
The biggest issue is that 23andMe is very binary. If it's not A, it's G. If it's not I, it's D. For the vast majority of the SNPs that isn't a problem, but HLA SNPs are extremely whacky. Most will have 3 or 4 possible alleles instead of 2, and I don't think 23andMe can handle that at all. Hence they're not capable of testing for HLA phenotypes with the technology they use, and just avoid testing the useful HLA SNPs to keep things simple for them.