JSFiddle - React, Tailwind, and code Playground

HTML

<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/paper-css/0.2.3/paper.css">
<body class="A4">
  <section class="sheet padding-10mm frontpage">
    <h1>Logo centered horizontally/vertically</h1>
    <footer>Footer centered horizontally but pushed to the bottom vertically</footer>
  </section>
</body>

CSS

@page {
  size: A4
}

.frontpage {
  display: flex;
  justify-content: space-between; /* ADJUSTED */
  align-items: center;
  flex-direction: column; /* NEW */
}

.frontpage > * {
  text-align: center;
}

.frontpage::before {
  content: counter(page) " of " counter(pages);
}