yup and yup.
UTF-8 is capped at 21 bits, theoretically it can support up to 6, but it's not allowed to because of UTF-16.
This format would allow 28 bits to be encoded as 8, 16, and 32 bit code units.
There would be no surrogate pair nonsense, simply write all the non-leading-zero bits into as many code units you need as well as the 4 bit header, and you're good.
I'm not saying it'll ever happen, I know it won't, but if we could go back in time...