Who all (during the Mahabharata time) knew of Karna's true identity and his varna due to birth?
- His mother was Kshatriya (Kunti) that is why He has been considered as Kshatriya.
- He brought up as child of chief charioteer of King Dhritrashtra.
- As per Mahabharata, Parshurama only taught to Brahmins but When Parshurama go to know that Karna is a Kshatriya, Parshurama laid curse upon Karna.
In theory, he was of Karna identity.
- For practical purposes he was Kshatriya
- Considering his adoptive parents, he was Suta
His actual name was "Vasusena" or "RAdheya", after his adoptive mother "Radha".
And seeing the child furnished with bright mail and golden ear-rings, the twice-born ones named him Vasusena. [source]
However, it's noted (at least in BRC Mahabharata) that Bhishma [& possibly Vidura] knew the correct identity of RAdheya already. For experienced & knowledgeable person like them, it would have been easy to match his attributes with his biological mother Kunti, whose other sons were 5 PAndavas.
My assumption is that, Karna would have possibly named so by such dignitaries only.
As discussed in this answer, Kunti herself was adopted by her father. Her biological father Sura was from the Vaishya class.
Kunti was married to the king PAndu, who was from Kshatriya class. Hence all her sons, were considered PAndava-s:
- Vasusena/RAdheya -- who was abandoned by her before marriage, and adopted by Adhiratha & RAdha
- Yudhishthira, Arjuna, Bhima -- her biological children
- Nakula, Sahadeva -- children adopted by Kunti, after the death of her biological mother MAdri
A child born to a Kshatriya (PAndu) and a Vaishya (Kunti) is considered as "Karna". This was applied to Yuyutsu.
During that year, O king, was begotten upon her by the illustrious Dhritarashtra a son endued with great intelligence who was afterwards named Yuvutsu. And because he was begotten by a Kshatriya upon a Vaisya woman, he came to be called Karna. [Above linked answer]
However it's clarified that why Vasusena was named as Karna. So it's quite likely that above theory may not have any support and is wrong.
The son of Surya was before this known by the name of Vasusena. But since he cut off his natural armour, he came to be called Karna (the cutter or peeler of his own cover). [source]
Usually a son carries his biological father's class. However in the case of Niyoga, the son carries his adoptive father's class, which could be PAndu in this case. With that logic, Yudhishtira, Bhima, Arjuna could also be considered "Karna"-s, to be precise. Because all of them were born to Kunti from certain celestial deity.
If we consider that, Kunti's own class was changed to Kshatriya after her adoption, then all PAndava-s were Kshatriya-s.
Karna specifically always recognised himself with his adoptive parents, as discussed in this answer hence he was considered as Suta, usually helpers to the Kshatriya kings.
And it came to pass that at this time a Suta named Adhiratha, who was a friend of Dhritarashtra, came to the river Ganga, accompanied by his wife. [source]
Suta is a subclass, which originates, when a Kshatriya man begets a child to a Brahmana woman:
If a Kshatriya begets a son upon a Brahmana woman, such a son, without being included in any of the four pure orders, comes to be regarded as a Suta The duties of a Suta are all connected with the reciting of eulogies and encomiums of kings and other great men.