No puede descartar la columna porque la restricción de clave externa usa este índice. Debe crear un índice que se utilizará para la verificación de restricciones en primer lugar y descartar el índice que incluye la columna que se eliminará. Entonces la columna puede ser eliminada.
ALTER TABLE product ADD INDEX (brand_id),
DROP INDEX product_eancode_unique,
DROP COLUMN `ean_code`;
https://dbfiddle.uk/?rdbms=mariadb_10.5&fiddle=f36688300eeff3af867872b0227>981