Setup page works much different than normal pages, everything is rendered using Response.Write as it progresses through the setup process. Normal pages build a control tree and let the controls do the rendering.
The header part of the page comes from a config file
<add key="SetupHeaderConfigPath" value="~/Setup/SetupHeader.config"/>
so you can use a custom file for rtl