Данные из модели user в модели admin вы можете получить или через связь, как вы правильно написали $admin->user->username
или есть второй вариант, - выбрать данные как массив, но тогда автодополнение в IDE работать не будет.
Выглядеть это будет примерно так Admin::find()->with('user')->select(['admin.*', 'user.username'])->asArray()->all();
на выходе вы получите массивы значений всех полей из таблицы админ и связанными с ними значений username. Как-то так.