O padrão Unicode tem pontos de código suficientes para que você precise de 4 bytes para armazenar todos eles. É isso que a codificação UTF-32 faz. Ainda assim, a codificação UTF-8 de alguma forma os espreme em espaços muito menores usando algo chamado "codificação de largura variável".
Na verdade, ele consegue representar os primeiros 127 caracteres de US-ASCII em apenas um byte que se parece exatamente com ASCII real, então você pode interpretar muito texto ASCII como se fosse UTF-8 sem fazer nada a ele. Belo truque. Então, como isso funciona?
Vou fazer e responder minha própria pergunta aqui porque acabei de ler um pouco para descobrir e pensei que poderia economizar algum tempo para outra pessoa. Além disso, talvez alguém possa me corrigir se eu errar em alguma parte.