MySQL reserverer altid det maksimale beløb for en UTF8 felt som er 4 bytes så med 255 + 255 med dit DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; du er over grænsen på 767 maks. nøglelængde.
Du kan kun reducere den enkelte varchar-længde eller brug ikke en sammensat nøgle.