No you don’t. You get an expression that has a list of country names applied to the argument “Flag”. Such an expression has no rewrite rule, so it remains unevaluated.
which just returns the same expression, because it’s just an “object” that represents a particular semantic. That particular “object” can be applied to an argument, and in this case it is so applied, so we next evaluate
Entity["GeographicRegion", "Europe"]["Countries"]
which gives {[Entity["Country", "Albania"], ..., Entity["Country", "VaticanCity"]}. Presumably you expected this.
But there is another step remaining in computing the expression. We apply the result we have so far to “Flag”.
ExpressionWeHaveSoFar["Flag"]
The ExpressionWeHaveSoFar is {[Entity["Country", "Albania"], ..., Entity["Country", "VaticanCity"]}. so we really have