It wasn't illegal (unconstitutional) at the time they did it, which is different from not knowing. They would have had to see the future to know.
Also keep in mind "illegal" and "unconstitutional" are different levels - "illegal" deals with specific laws, "unconstitutional" deals with violating a person's rights. Laws can be declared unconstitutional and repealed.
Laws can also be unconstitutional and remain a law--the law just can't be enforced. For example, in the state of Texas sodomy is still technically illegal, just the law is unenforceable. But if the Supreme Court overrules previous court decisions and says anti-sodomy laws are constitutional, the Texas law immediately becomes enforceable again.
I don't know. I feel that if something is declared "unconstitutional" today, then it was always unconstitutional (from inception of or amendment to the constitution). Unlike "illegal" in which laws can come and go, so something that is illegal today can be legal tomorrow. And just like "ignorance is no excuse for breaking a law", I don't thing ignorance should be an excuse for doing something unconstitutional.
Also keep in mind "illegal" and "unconstitutional" are different levels - "illegal" deals with specific laws, "unconstitutional" deals with violating a person's rights. Laws can be declared unconstitutional and repealed.