Coloured integers: Select outcome unexpected (part of a graph based problem using coloured vertex labels)

I use the following code output and need to retrieve the position of the part containing the blue-coloured integer 4

Part 1:

List[Placed[List[       Style[3, Rule[LineColor, RGBColor[1, 0, 0]],         Rule[FrontFaceColor, RGBColor[1, 0, 0]],         Rule[BackFaceColor, RGBColor[1, 0, 0]],         Rule[GraphicsColor, RGBColor[1, 0, 0]],         Rule[FontColor, RGBColor[1, 0, 0]]],        Style[4, Rule[LineColor, RGBColor[0, 0, 1]],         Rule[FrontFaceColor, RGBColor[0, 0, 1]],         Rule[BackFaceColor, RGBColor[0, 0, 1]],         Rule[GraphicsColor, RGBColor[0, 0, 1]],         Rule[FontColor, RGBColor[0, 0, 1]]]], List[Before, After]], Placed[      List[Style[4, Rule[LineColor, RGBColor[1, 0, 0]],         Rule[FrontFaceColor, RGBColor[1, 0, 0]],         Rule[BackFaceColor, RGBColor[1, 0, 0]],         Rule[GraphicsColor, RGBColor[1, 0, 0]],         Rule[FontColor, RGBColor[1, 0, 0]]],        Style[3, Rule[LineColor, RGBColor[0, 0, 1]],         Rule[FrontFaceColor, RGBColor[0, 0, 1]],         Rule[BackFaceColor, RGBColor[0, 0, 1]],         Rule[GraphicsColor, RGBColor[0, 0, 1]],         Rule[FontColor, RGBColor[0, 0, 1]]]], List[Before, After]]] 

I tried:

Part 2:

        Select[List[Placed[List[               Style[3, Rule[LineColor, RGBColor[1, 0, 0]],                 Rule[FrontFaceColor, RGBColor[1, 0, 0]],                 Rule[BackFaceColor, RGBColor[1, 0, 0]],                 Rule[GraphicsColor, RGBColor[1, 0, 0]],                 Rule[FontColor, RGBColor[1, 0, 0]]],                Style[4, Rule[LineColor, RGBColor[0, 0, 1]],                 Rule[FrontFaceColor, RGBColor[0, 0, 1]],                 Rule[BackFaceColor, RGBColor[0, 0, 1]],                 Rule[GraphicsColor, RGBColor[0, 0, 1]],                 Rule[FontColor, RGBColor[0, 0, 1]]]], List[Before, After]], Placed[              List[Style[4, Rule[LineColor, RGBColor[1, 0, 0]],                 Rule[FrontFaceColor, RGBColor[1, 0, 0]],                 Rule[BackFaceColor, RGBColor[1, 0, 0]],                 Rule[GraphicsColor, RGBColor[1, 0, 0]],                 Rule[FontColor, RGBColor[1, 0, 0]]],                Style[3, Rule[LineColor, RGBColor[0, 0, 1]],                 Rule[FrontFaceColor, RGBColor[0, 0, 1]],                 Rule[BackFaceColor, RGBColor[0, 0, 1]],                 Rule[GraphicsColor, RGBColor[0, 0, 1]],                 Rule[FontColor, RGBColor[0, 0, 1]]]], List[Before, After]]], Select[#[[1]][[2]], IntegerQ] &  == 4] 

Which produces { }

However

Part 3

 a = Placed[     List[Style[3, Rule[LineColor, RGBColor[1, 0, 0]],        Rule[FrontFaceColor, RGBColor[1, 0, 0]],        Rule[BackFaceColor, RGBColor[1, 0, 0]],        Rule[GraphicsColor, RGBColor[1, 0, 0]],        Rule[FontColor, RGBColor[1, 0, 0]]],       Style[4, Rule[LineColor, RGBColor[0, 0, 1]],        Rule[FrontFaceColor, RGBColor[0, 0, 1]],        Rule[BackFaceColor, RGBColor[0, 0, 1]],        Rule[GraphicsColor, RGBColor[0, 0, 1]],        Rule[FontColor, RGBColor[0, 0, 1]]]],      List[Before, After]][[1]][[2]]  Select[a,IntegerQ] 

produces 4 as expected.

Hence I would have expected Part 2 to produce the expression containing the blue label 4, i.e. the following result

Placed[List[           Style[3, Rule[LineColor, RGBColor[1, 0, 0]],             Rule[FrontFaceColor, RGBColor[1, 0, 0]],             Rule[BackFaceColor, RGBColor[1, 0, 0]],             Rule[GraphicsColor, RGBColor[1, 0, 0]],             Rule[FontColor, RGBColor[1, 0, 0]]],            Style[4, Rule[LineColor, RGBColor[0, 0, 1]],             Rule[FrontFaceColor, RGBColor[0, 0, 1]],             Rule[BackFaceColor, RGBColor[0, 0, 1]],             Rule[GraphicsColor, RGBColor[0, 0, 1]],             Rule[FontColor, RGBColor[0, 0, 1]]]], List[Before, After]] 

On closer inspection I tried the following:

FullForm[Select[a, IntegerQ]] 

which results in

Style[4] 

However, Style[4] should not be the result of a selection for integers.

What is going on?