O MySQL sempre reserva o valor máximo para um
UTF8
campo que é de 4 bytes então com 255 + 255
com seu DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci
; você está acima do limite máximo de 767 chaves. Você só pode reduzir o comprimento do varchar único ou não usar uma chave composta.