Дяволът се крие в детайлите...
Имате двойна дефиниция на root във вашите env vars. root потребителят се създава по подразбиране с парола от MYSQL_ROOT_PASSWORD . След това искате да създадете втори „нормален“ потребител... с точно същото име и парола (т.е. с MYSQL_USER и MYSQL_PASSWORD )
Ако погледнете внимателно дневника си при стартиране, ще видите грешка
db_1 | ERROR 1396 (HY000) at line 1: Operation CREATE USER failed for 'root'@'%'
Това всъщност спира по-нататъшната обработка на вашите init файлове в docker-entrypoint-initdb.d и продължава с останалата част от процеса на стартиране на изображението (т.е. рестартиране на mysql след инициализация на временен сървър).
Просто пуснете MYSQL_USER и MYSQL_PASSWORD във вашите env vars или задайте потребител, различен от root и вие незабавно ще видите вашите init файлове обработени (не забравяйте отново да изпразните директорията си с данни).