Você não pode descartar a coluna porque a restrição de chave estrangeira usa esse índice. Você deve criar um índice que será usado para verificação de restrição primeiro e descartar o índice que inclui a coluna a ser descartada. Em seguida, a coluna pode ser descartada.
ALTER TABLE product ADD INDEX (brand_id),
DROP INDEX product_eancode_unique,
DROP COLUMN `ean_code`;
https://dbfiddle.uk/?rdbms=mariadb_10.5&fiddle=f36278300eeff3af867872b0278300eeff3af867872b02