Mysql irá armazenar 5 bytes mais um byte para o comprimento. Se o varchar for maior que 255, ele armazenará 2 bytes para o comprimento.
Observe que isso depende do conjunto de caracteres da coluna. Se o conjunto de caracteres for utf8, o mysql exigirá até 3 bytes por caractere. Alguns mecanismos de armazenamento (ou seja, memória) sempre exigirão o comprimento máximo de bytes por caractere para o conjunto de caracteres.
Tornar uma coluna anulável significa que o mysql terá que separar um byte extra por até 8 colunas anuláveis por linha. Isso é chamado de "máscara nula".
Não é nem consistente entre os mecanismos de armazenamento no mysql!