How do i use a show rule for the `page` function?

I have been trying to do slides and need a header for my them. I have tried the page.header parameter, however, the header is not placed covering the margin, which is a thing I want.

I looked on the docs and it said that this is correct behavior, and it gave me an example of how to cover the margins

#set page(
  paper: "presentation-16-9",
  foreground: align(top, header),
)

Which works, but now the content does not know there is a header, So i would need to do some work to make it now go behind the #header on the foreground.

Then, I thought that if i take a page on a show rule like this:

#show page: p => [
  #header
  p.body
]

The body will do everything correctly and i can add margins for the body easily.

However, this does not do anything.

Am I using #show page wrong? Is this intended? Does this have to do with context?