I was able to confirm that Production and Scratch Orgs / Sandboxes for us bear differences with the exact same markup
<apex:page renderAs="pdf" applyBodyTag="false" >
<head>
<style type="text/css" media="print">
@page {
@top-center {
content: element(header);
}
@bottom-left {
content: element(footer);
}
}
div.header {
padding: 10px;
position: running(header);
}
div.footer {
display: block;
padding: 5px;
position: running(footer);
}
.pagenumber:before {
content: counter(page);
}
.pagecount:before {
content: counter(pages);
}
div.content{
font-family: Arial Unicode MS;
}
</style>
</head>
<div class="header">
<div>Account name doesnt matter ----------- and the date is {!TODAY()}</div>
</div>
<div class="footer">
<div>Page <span class="pagenumber"/> of <span class="pagecount"/></div>
</div>
<div class="content">
<p>Actual page body information.</p>
</div>
</apex:page>
This looks different between Scratch Org and Production.
This is what it looks like on Prod.
This is what it looks like on our Scratch Org
This definitely warrants investigation.