MySQL винаги запазва максималната сума за UTF8
поле, което е 4 байта, така че с 255 + 255
с вашия DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci
; сте над ограничението от 767 максимална дължина на ключа.
Можете да намалите само дължината на единичния varchar или да не използвате съставен ключ.