Array Modifier, no Texture on End Cap
This is an old limitation, it seems.
To make it work, you need to place the material (only one) of the start/end caps as first material in the material slots of the arrayed object.

If the caps have two different materials, that won't work (only one is taken into account).