It should. But Unicode's mandate included incorporating common existing character sets, and ISO8859-1 had ² and ³, and it all when down from there, so that now you can write 𝘌 = 𝘮𝘤² which isn't the same as E = mc².
A number of early computer systems used teletypes for I/O, and had programming languages in which exponentiation was expressed by moving a half line up, and array subscripts by moving a half line down.
I seem to recall the designer of ascii stating that it was a mistake, and they should've gone with prefix coding instead (following-is-capital,a->A;following is number,<byte>->67 or something along those lines - basically escape codes for everything, I suppose). Instead we got ascii evolved to really, really, really big ascii (utf-32, and the variable encoding utf-8).
But yeah, having a "next-is-superscript"-token would probably be cleaner than individual code points for every little glyph that might be a superscript...
A number of early computer systems used teletypes for I/O, and had programming languages in which exponentiation was expressed by moving a half line up, and array subscripts by moving a half line down.