Судя по исходным данным, Laravel сам ничего не чистит. Файлы кеша явно удаляются при операциях flush, forget и попытке получить протухший ключ, поэтому чистить нужно самим. Либо поставить вызов Cache::flush в Schedule.
Реально данные в сессию записываются после обработки запроса, dd нарушает нормальный ход обработки и данные не записываются.
Пруф: https://github.com/laravel/docs/pull/3376
Так и только так. На каждую пачку изменений своя миграция.
Зачем в них разбираться? Они идут в хронологическом порядке, их только накатывают и обычно в старых миграциях особо не копаются.
Так сделать нельзя. Модели со всеми плюшками могут сохраняться только по одной, множественный insert только на сырых данных, поэтому нужно их подготовить самому.