When I was in high school, I went to Boys’ State. This was in 1988. They taught us that the hand goes over the heart for the Pledge of Allegiance, but that for the national anthem, one was to stand in a state of reverence with arms at your side. Boys’ State is an American Legion event that takes patriotism very seriously. I don’t know when this changed, but the hand over the heart has not always been expected for the national anthem.
I hadn’t thought much about it, but you’re right. As long as a person is facing the flag, and not holding up a “black power” fist, they’re probably doin the right thing. :)