Yii2: Как выполнить добавление в одну таблицу с включенным режимом транзакции?
Это $transaction->rollBack();
    foreach ($this->firstErrors as $key => $value) break;
    if (empty($value)) $value = 'Неизвестная ошибка';
    return array('message' => $value, 'status' => false);
 заменяем на что-то, типа этогоthrow new HttpException(500, 'Неизвестная ошибка');
А уже в catch'а делаете свои проверки и генерируете сообщения от ошибке, если нужно.
И все должно работать.
Конструкция try-catch предполагает, что в блоке try одна из операций может бросить исключение, которое будет обработано блоком catch. В Вашем коде ни одна из операций явно не бросает исключение, поэтому перехода к catch не происходит. 
Транзакционность нужна прежде всего для поддержания консистентности данных, т.е. когда одна структура данных записывается несколькими методами в несколько таблиц и важно убедиться, что все операции записи были выполнены успешно, иначе данные будут неконсистентны. 
В Вашем случае не очень понятно, для чего реализуется транзакционность.