I know what you are thinking.. that says Congress.. well there is this amendment called the 14th amendment which also says this.. : Section 1. All persons born or naturalized in the United States, and subject to the jurisdiction thereof, are citizens of the United States and of the State wherein they reside. No State shall make or enforce any law which shall abridge the privileges or immunities of citizens of the United States; nor shall any State deprive any person of life, liberty, or property, without due process of law; nor deny to any person within its jurisdiction the equal protection of the laws.
So an Amendment as the result of winning the Civil War (14th) states States have to provide equal protection. So under the equal protection clause 1st Amendment would apply to 1st Amendment rights of flying the flag as form of free speech..
I know it's a bitch.. but that's reality.
Btw, I don't think most of them fought to preserve slavery. It's well known Robert E. Lee fought to protect Virginia. Same with Stonewall Jackson. Prior to the end of the Civil War, people (citizens) owed allegiances to their home States. I also think if compensation was offered, South would have been more willing to listen, like they did in the United Kingdom. As freeing a slave which is "property" destroys net worth. Now I want to say I do not justify slavery.
But we still have loyalty to our "state" on both sides of the Mason Dixon line. I grew up on the Mason Dixon line, near Gettysburg and I was a child of an immigrant but to this very day I am loyal to PA, my town, Penn State, and my local sports teams. Just as the my friends in Ohio are loyal as hell to Ohio, their towns, Ohio State and their sports teams. Just as a person from South Carolina, 'Bama, Texas or so on. It's just who we are as animals. The pack mentality. We stick together.