у docker exec есть параметр -u в котором можно указать пользователя или его uid
Думаю, ты даже можешь в контейнере сменить uid рута на такой же как у тебя на хост машине и в итоге миграции будут создаваться внутри контейнера от рута, а в volume на хост машине будут принадлежать тебе. Но, это не точно :)