The German appropriation is neither
sei as you suggested, but simply
Ich hab dir gesagt, dass ich stolz auf dich bin.
Indirect speech works with a different mechanism in English (Please, read about backshift of tenses to understand how it works in English).
Ich bin, which is "I am" (Simple Present) in English, turns to "I was" (Simple Past) in indirect speech, because of that mentioned English grammar rule. That is why you get
I was proud of you but it's originated from
... dass ich stolz auf dich bin. German has no backshift of tenses here, so it remains
bin in this language, and it does not turn to
war or similar words.
We also use German Indikativ
ich bin here since be are sure it is as it is, we know we were proud since we have lived it. Konjunktiv is used if the fact is not sure or true, which may be the case if we speak about another person and we were not there when it happened; then we would rather use
er sagte, er sei. More details about Indikativ and Konjunktiv can be found here.
Sei puts uncertainty in the sentence and indicates it may be not true, but it's actually only used in written German, and you must not use it. For example
I told you I was proud of you, but that was a lie can be expressed in German either a bit stilted/antiquated
Ich habe dir gesagt, ich sei stolz auf dich, aber das war gelogen or also (preferred)
Ich habe dir gesagt, ich bin stolz auf dich, aber das war gelogen.
Ich sagte, ... ich ... wäre would need an additional condition with
wenn, for instance
Ich sagte, dass ich stolz auf dich wäre, wenn du dich mehr anstrengen würdest.. In this case you tell a conditional in indirect speech.