Everyone saw Xion differently. To people who didn't have any connection to Sora like Luxord, Demyx, and Saix they only saw Xion as a hooded organization member.
To Xemnas and Xigbar they saw her as Ven.
To Axel and Roxas they saw Xion as Sora's strongest memory, which is Kairi, thus why Xion looks like Kairi to Axel and Roxas.
It had nothing to do with Kairi's heart being in Sora.
I remember in a Nomura interview where he said that Xemnas saw Xion as black-haired Kairi as well...let me look for it.
Edit:
The figure Roxas sees is the same as what the player sees, but for example, when Xigbar and Saix see her, her figure is different. At first some people thought it was unnatural she would be wearing a hood and then not in the same scene, but I think you come to understand it as you advance through the game. People connected with a certain person see Xion as ‘Xion’. In the case of Xemnas, since he is connected to various people, he basically sees ‘Xion’, however sometimes he sees ‘him’. Who ‘he’ is, I want you to confirm it on your own. Xigbar also sees ‘him’.
Source
I think Xion's appearance depends on the person's memories of her and their memories of anyone that would match up with Xion. For instance, Xemnas'/Xehanort's memories of Kairi as a lab rat would make him see Kairi, since he also thought of Xion as a lab rat.
Because of that and for other reasons, Axel seeing Xion as Kairi is debatable.
Last edited: