How to always have a multiple of 4 pages - pagecount, pagebreaks in context block and footer behaviour

Point 1 is caused by what @Eric explained in the post you linked: How to always have a multiple of four as the number of pages - #4 by Eric

You can see it if you uncomment and comment the highlighted line in this simplified example:

#set page(paper: "a7")
#context {
  let num = here().page()
  // "" // <- here
  pagebreak()
  [#num]
}

Point 2 is caused by Typst not finding a stable document state in the 5 layout iterations it has available caused by Point 1. That’s also why you get the warning “Layout did not converge within 5 attempts”.
To get insights on what he compiler does in the 5 iterations, you can play around with layout-ltd.

#import "@preview/layout-ltd:0.1.0": layout-limiter
#show: layout-limiter.with(max-iterations: 1)

// your code here