Почему не работает addEventListener 'resize'?
Во-первых - вы пытаетесь установить в качестве обработчика resize не метод, а результат его выполнения. Во-вторых - честно говоря, затрудняюсь понять, на что вы рассчитывали, как бы вы ни дёргали метод расчёта высоты, что от этого измениться для computed? Да ничего. Класть результат в data вам уже советовали, и даже показали рабочий пример - тут я ничего добавлять не буду (кроме того, что лично я - всё-таки результат в data бы положил). Если вам кровь из носу надо без хранения результата, то... ну, такой вариант есть:

<div id="app">
  <h1>{{ h() }}</h1>
</div>
new Vue({
  el: '#app',
  methods: {
    h() {
      return Math.max(document.documentElement.clientHeight, window.innerHeight || 0);
    },
  },
  created() {
    window.addEventListener('resize', () => this.$forceUpdate());
  },
});
window.addEventListener('resize', this.h.bind(this));
или
window.addEventListener('resize', () => this.h());

А лучше
new Vue({
  el: '#app',
  data: {
    h: 0
  },
  methods: {
    calcH() {
      this.h = Math.max(document.documentElement.clientHeight, window.innerHeight || 0);
    }
  },
  created() {
    this.calcH();
    window.addEventListener('resize', this.calcH.bind(this));
  }
});