Вы сами и ответили на свой вопрос. Раз проблема с новым экземпляром, то и не создавайте его - пользуйтесь существующим.
// app.js
import Vue from 'vue'
import axios from 'axios'
Vue.prototype.$http = axios.create({baseURL: 'http://localhost:3000'});
Вызывая действие vuex просто передаем экземпляр vue
// Component.js
...
methods: {
this.$store.dispatch('myAction', { self: this });
}
...
И используем
// store.js
export const actions = {
myAction({commit}, {self}){
self.$http.post('url', {
data: []
})
}
}