The CRA approach says to move from concrete to pictorial to abstract concepts. The idea of numbers without units or identifiers is treating numbers as an abstraction, and a positive goal. You start with the concrete examples - 3 apples plus 2 apples is 5 apples, 3 pebbles plus two pebbles is 5 pebbles, 3 people plus 2 people is 5 people, and spot the pattern that lets you say 3 plus 2 is 5. What is "3" on its own? Three whats? The point is "3" represents a pattern with an empty slot for the unit/type of object into which you can insert anything.
When there is only one entity under discussion being counted, it is perfectly legitimate (and a positive achievement) to use the abstraction and let context fill it in. The answer to "If you have 6 apples and eat 2 of them, how many apples do you have left?" is actually 4, and not 4 apples, because the units to use are specified in the question. If you had asked "If you have 6 apples and eat 2 of them, what do you have left?", then the correct answer would be 4 apples. There is a subtle distinction that kids pick up automatically from usage - in this case, it sounds like the kid who answered the question understood the rules better than the teacher did.
What I think the teacher is trying to address is the tendency to overdo the abstraction, and abstract in situations where it is not safe to do so. The most common situations are where there are several different units in use, or where you are writing numbers for someone who might not know the context.
If you have six boxes of eggs (with six eggs to a box) and you drop two of them, how many do you have left? We have two different units: eggs, and boxes. Did you drop two eggs or two boxes? Are you asking how many eggs or how many boxes are left? You can no longer assume a unit, and must specify at every step.
The rules over when units are or are not required are complicated. Sometimes you can set the formal rules out explicitly - in which case you need to get them right, and explain all the exceptions and corner cases too, or cause more confusion when usage conflicts with the rules you've just given. Or you can teach them by example, using units when needed, and not when you don't, and let children's natural language acquisition skills deduce the rules subconsciously. That's usually easier and more accurate, but often results in knowledge that people can't explain - they just know it "feels wrong" to say it a certain way.
As mathematics gets more formal and precise, all this intuitive encoding of knowledge starts to get in the way, and people lose track of the complicated manipulations being applied subconsciously and get confused about what concepts they're using. Being careful about units (and more generally, about types) is one way to resolve this confusion. But it is a stage of abstraction beyond the abstraction of pure numbers.
You have to teach it in stages. First you count concrete objects - 3 apples, 3 pebbles, 3 people. Then you recognise the pattern, and abstract them all as a "3". Only when the children are able to do that reliably, do you start to explore the multi-unit ambiguous situations requiring more precision, and put the units back in. And at a much, much later stage of education, you can start to pull apart the different types and the rules governing them more formally (cardinal numbers, ordinal numbers, rationals, real numbers, vectors, torsors, groups, dimensional analysis, etc.). It may help that later learning if you give some indication early on that these are really different types of things that we are tacitly mixing up together, so it doesn't come as such a shock later, but it just confuses things to try to explain everything at once too early, or to skip over important intermediate stages.
I can't tell from what you write whether the teacher is trying to prevent students using the abstraction at all, or whether having taught that stage, they are moving on to the next step of explaining the exceptions where you do need to keep the concrete types. The "how many apples do you have left?" question is not a good example, but I don't know if that's what the teacher actually used, or is your friend's paraphrase.
But I would say that children need to learn both approaches. They need to be able to abstract pure numbers from a concrete situation, and they also need to be able to keep and manipulate units and types in more complex multi-unit situations. The latter is a significantly more advanced stage of understanding, that requires a firm grasp of the abstraction process first. This isn't based on any pedagogical research - it's based on the structure of the mathematical concepts being taught. It's not that one approach is better than the other and should be the only one taught, it's that you need to teach them both, one after the other.