When using setblock with standing_banner, no matter the damage/data value the banner will always be black. Relatedly when placing down a standing_banner of a color and then testing for the banner by its data value it will not result in a success.
Also I don't know if this is where I should go to suggest this, but if it's not already being done, life would be a lot easier if the banners color to data value line-up was the same as wool blocks and stained_glass, etc.
This is looking intended.
Most probably the banner is the first block not using damage values anymore: