There is a big difference in structure, though the meaning might not be so different.
"Of" can be used with most adjectives that describe a quality of a person in this way, with or without a complement:
That was kind of you.
It was brave of her [to stand up to them].
It was foolish of me [to even try].
But most adjectives do not take an argument with "for", and nor is the construction above available:
*It was brave for her.
(The * means this doesn't occur).
So the construction with "for" is different. It uses a purpose clause:
It was brave [for her to stand up to them].
You can see that this is a different construction by making it the subject:
For her to stand up to them was brave.
but not
*Of her to stand up to them was brave.
because "of her to stand up to them" is not a constituent of the sentence.
On the other hand
To stand up to them was brave of her.
works fine.
Note: I've realised that you can have "brave [for her]" as a constituent, but with a different meaning:
To stand up to them was brave for her.
means something like "by the standards of bravery I expect for her, this was particularly brave", whereas with "of" it does not carry that added meaning. This is easier to see with "kind":
To give away her lunch was kind of her.
is neutral, saying she was being kind; but
To give away her lunch was kind for her.
implies that the speaker doesn't expect that kind of kindness from her: there is an implied criticism of her.
This meaning is possible in the original order, ie.
It was kind for her to give away her lunch.
could have this reading, but it is ambiguous with the "[for her to give away her lunch" reading, and I think the latter is the more likely interpretation.