Почему не получается обратиться к getters?
не получается обратиться к геттеру <...> показывает null, хотя если вызвать store.getters, то данные есть
"Показывает null" - значит не успели ещё данные загрузиться к тому моменту, когда вы дёргаете геттер, только и всего. Нечего тут сказки рассказывать про "не получается". Всё окей.

"Хотя" - не более чем особенность отображения объектов в консоли. Когда разворачиваете объект в первый раз, подтягивается его актуальное содержимое. Т.е., в консоль вы store.getters кидаете до получения данных, а смотрите что там есть уже после.

Не хотите в компоненте видеть этот null - не надо рендерить экземпляр компонента, пока данные не будут получены:

<компонент v-if="$store.getters.profile" />

Правда, прямо сейчас вы так сделать не сможете, есть косяк, вот здесь:

//Подключаю хранилище
import store from './store';

store.dispatch('getUser');
new Vue({
    el: '#app',
    router: router,
    components:{
        'head-app':headImplant,
        'footer-app':footer,
        'sidebar-app': sidebar
    }
});
Где подключение-то? Просто импортировать в main.js экземпляр хранилища недостаточно, вы должны передать его в конструктор Vue, как свойство store объекта с настройками:

new Vue({
  store,
  ...
Возможно экшн еще не отработал. Сделайте вот так для проверки: store.dispatch('getUser').then(() => {
new Vue({
    el: '#app',
    router: router,
    components:{
        'head-app':headImplant,
        'footer-app':footer,
        'sidebar-app': sidebar
    }
})
})