I have a theory as to why the shorty at the end looks like Roxas. First of all Roxas appears after Sora is in Castle Oblivion. Castle Oblivion is revealed in FM+ to be the place where the shorty is. More specifically He is in the Room of Awakening. Anyway, As Sora travels through the castle, Xehanort's memory of his short friend are brought out and manifested as Sora's nobody, causing Roxas to look like the short one.