Таски - в vuex, в отдельном массиве. Кроме id таска писать еще то, к чему он.
Например так:
[{id: 555, entityType: 'comment', entityId: 54, taskType: 'deleting', taskParamenters: {...}}, ...]
Структура с деревом вообще странная. А так - это вариант классического асинхронного RPC.
Можно вызывать action стора в точке входа и монтировать App.vue после загрузки. Можно вместо основного компонента показывать заставку, пока данные не будут загружены.
Если приложение только клиентское - то да, делать в actions. Если клиент-серверное и сервер - не тупое хранилище, то надо логику заворачивать на сервер (ну, кроме примитивов типа сумма = цена * количество).