As you found, Access ignores the page header/footer of the subreport, using
those of the main report instead. But you can fudge it with a group header
that repeats.
1. Open the subreport in design view.
2. Open the Sorting and Grouping dialog (View menu.)
3. On the first row, choose a field that never changes, and set Yes for
Group Header.
4. Right-click the new section header, and choose Properties.
Set the Repeat Section property to Yes.
5. Put whatever you want as page header into this group header.
The subreport now repeats this group header on each page, and since the
field never changes, it works exactly as a page header would.
If you don't have a field that never changes, you can create one by typing
an expression such as this into the Field row the the query that feeds the
subreport:
AlwaysFalse: False