One thing I’ve always wanted to clear up is the ‘Keith is cold-hearted’ thing. I can see how the scene of him being ready to leave Allura behind might come across as such, to quote Hunk: “Keith, that’s cold-hearted even for you.”
But that is not how things actually are. Let me explain why he acted the way he did back then, because Keith has had just as many emotions about it as everyone else.
Keith is rational, observant and tends to state stuff exactly as it is, with all facts lied out to make sure that everyone gets the whole picture. (see: how he explained his board in s1e1, how he argues with Lance at the beginning of s1e3 etc.) He has been known to accept critique pretty well - he actively tries to work on his temper (“patience yields focus”) and accepted that Lance’s plan was better than his in s1e7. In turn, however, he expects people to treat him the same way. If there isn’t any evidence to contradict it, he takes things people tell him at face value and accepts them as facts. It is one of the reasons him and Lance clash often, Keith can be found constantly correcting Lance’s statements and Lance doesn’t appreciate that.
This is coupled with his rational personality. I have no doubt that part of that comes from having been forced to grow up without a family and people to comfort him when he was feeling lost, he has had to deal with reality screwing him over quite a lot of times already. He is extremely cautious and protective of his friends when a possible threat appears (see: how he placed himself in front of the team when Klaizap appeared in s1e2), probably exactly because he knows that when they are gone, they are gone. That happened to his dad, that happened to Shiro.
And now he thinks the same thing has happened to Allura.
It is not that he doesn’t want to help her - because he does. He really does, he even said so himself. (And he wasn’t lying. We all know that Keith is an absolutely horrible liar.) In his mind, there were four facts battling with one another: 1) I want to save my friend; 2) “the ship that is headed to Zarkon’s central command?” “the place that’s way too dangerous for us to attack?” (a direct quote from an exchange between Hunk and Keith from s1e10. Keith had accepted that information a fact); 3) we are fighting against an enemy we know next to nothing about; and 4) I am responsible for the entire universe and I can only protect it with Voltron, for which Allura technically isn’t essential.
So he stands there and goes through all the facts. And he comes to the - absolutely logical - conclusion that it is too dangerous to go to Zarkon’s headquarters. He could lose even more friends. He could lose the universe’s only hope. So he does what he always does: suppress his emotions for the greater good. He did that there, he did it when he decided to give up the blade in s2e8.
But then the others turn against him. We can’t see his face when they begin to vehemently protest against his statement-
-but I have no doubt that it would be serious and reflective. The backlash would have made him reconsider the conclusion he had come to. Because that’s what he does when he faces critique: take a step back and reevaluate. Obviously, fact 2) wasn’t quite right. [Also note how open his body language is, he is more than willing to discuss this.]
And once the execution of their plan starts, which means an actual chance for getting his friend back, he is right at the front of the group again.
Keith isn’t cold-hearted. Not at all. Does this look like the face of a cold-hearted person to you?
Because that is the face he made when he came to the conclusion that it would be too dangerous to save Allura. He is not happy about it. He genuinely believed that she was already lost and they were about to condemn the universe for a suicide rescue mission. If there is anything he can do to save his friends, he will do it. Like, seriously - he had never seen Zarkon before that episode. For all he knew, Zarkon could be 5ft tall, wield magic and be immortal. But as soon as he saw a normal-sized Galra in armor, Zarkon suddenly became less of an abstract concept and more of something that he has an actual fighting chance against. Look at how his attitude towards him changed in season 2, at the end of it he volunteered to infiltrate Zarkon’s base on his own!
(Also. He was the one that asked Allura if she was sure that she wanted to come with them: “I’m sorry, princess, did you say ‘we’?!” in s1e10. He was worried for her. There is no way he didn’t want her back.)
Keith constantly watches out for the greater good. It’s what he told Pidge when she wanted to leave to go look for her family - “everyone in the universe has families!” - and what he did when he gave up finding out about his past in the Trials of Marmora. He pushes his own emotions down because he genuinely believes one person’s life and/or comfort isn’t worth putting the entire universe at risk. And that does not equal being cold-hearted.
tl;dr: Keith has had perfectly valid reasons why he hesitated to go on the rescue mission. He wanted her back just as much as everyone else. He is not a cold-hearted asshole.