Allergies and intolerances are different. I suspect your DS has an intolerance to milk and not an allergy, and as alergists deal with allergies and not disgestive system issues it's not in your allergist's area of expertise to diagnose a milk intolerance.
An allergy to milk (or to anything) will trigger an immune system reaction - the body recognises the substance as "foreign" and reacts to that in different ways - most common are skin reactions such as hives, eczema, watery eyes, runny nose, and for some people anaphylactic shock, though there are other reactions possible. A blood test is looking for an IgE reaction which is an immune system reaction. An allergic reaction tends to be quite immediate.
An intolerance to milk (or any other food) happens in the digestive system - usually the intestines, when they start to break down the food and process it. When the intestine can not properly tolerate and break down the food (in the case of milk it is the protein) then the common reactions are cramps, vomiting, diarrhea or constipation, and prolonged exposure to the substance causes skin reactions in many people. Symptoms of an intolerance tend to be delayed and not immediate, as it takes the time for the food to travel through the digestive system, the body to try to deal with it and then not be able to.
So your allergist testing for an allergic (immune system) reaction is doing just that, and not looking at the digestive system, which is not what his area of study is and so he would not. This is why they say that testing for food allergies is not always accurate - if you get a positive result then it is positive, but a negative result does not mean there are no known issues with the food.
My own paed (hospital paed GI consultant) refused to test for food problems because of this, except in extreme cases. Diagnosis for milk allergy was clinical - meaning the child is having problems and these symptoms, so we remove milk and if the symptoms clear up then it's a positive diagnosis. He was also VERY keen on stressing that an intolerance is no less serious than an allergy and that the two terms are often used interchangeably because the end result is the same...NO MILK. He personally even preferred to just use the term allergy with parents because many people mistakenly believe that an intolerance means that if you keep exposing the child to it that they will then build up tolerance, which is wrong. However, once you say "allergy" people are usually quick to avoid it at all costs. So when you say he has "at least" an intolerance to milk and soy, it should not be seen as something less serious than an allergy - he's got an intolerance and needs to avoid milk and soy 100% just as if it was an allergy.
Exposure to the substance that you are allergic to can make the immune system reaction stronger and stronger each time, and be VERY uncomfortable for children and can be dangerous. Continued exposure to foods you are intolerance to can continually cause more and more damage to the digestive system, more pain, more symptoms and so on.
I am not 100% sure on this part, but when you ask about the scratch test versus the blood test, I believe that the blood test will show an IgE "marker" for the substance, meaning that the body is saying that it sees this as a foreign substance, but then when that substance enters the body it is not necessarily triggering a reaction. A scratch test is just looking at reactions that occur. Again, means that the substance should still be avoided if it shows up on the blood test, as just because there is no reaction at the moment doesn't mean there won't be one in the future.
Hope some of this is helpful!