Как работают Thunk?
Вы имели ввиду асинхронные действия и промежуточное ПО
redux-thunk?
Правильно ли я понимаю, что этот код будет выполнен синхронно
Правильно.
Сам вызов store.dispatch() синхронный. Но если туда передается не объект, а функция такая как addPost, то до редьюсеров она не доходит. Ее перехватывает redux-thunk middleware и выполняет передавая туда dispatch, getStore и опциональный третий аргумент. Ясное дело, что такая функция может быть асинхронной.