MySQL siempre reserva la cantidad máxima para un UTF8
campo que es de 4 bytes por lo que con 255 + 255
con su DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci
; superas el límite máximo de longitud de clave de 767.
Solo puede reducir la longitud del varchar único o no usar una clave compuesta.