It does seem strange. Here are two scenarios to illustrate.
Scenario One
Maybe the browser settings may be such that assets are not loaded, e.g., a mobile device on mobile data, where assets might not be loaded to conserve bandwidth.
Then you would be open to all the vulnerabilities that HSTS protects against.
Scenario Two
(This scenario edited after discussion in comments below)
Moreover, even without such a restriction on assets loading, without the HSTS header for the index page, your leave your web app open to attacks, the result of which is that an attacker might already have succeeded in replacing the initial response with an arbitrary page of their choosing, over http. If this happens for the load of the index page, then whatever asset loading that is supposed to happen next, becomes irrelevant, so your browser never even requests for those assets, and never see the HSTS header in the responses.
As a concrete example, consider an SSL-stripping man-in-the-middle (MiTM) attacks. With SSL stripping MiTM attacks, a https connection is converted to http by the MiTM. Now, what is to prevent the attacker from simply ignoring the HSTS header coming from your web app its response, and presenting their arbitrary response back to the client over http without the HSTS header? That's where preload lists come into the picture.
All the major browsers implement HSTS preload lists that include known sites supporting HSTS. Thus, the browser doesn't have to rely on receiving the actual response from the site in order to know that it implements HSTS, so the browser will enforce the use of https. So, how are these HSTS preload lists generated for use by the browsers?
In the case of firefox, for example (see blog.mozilla.org/security),
To build our preload list, a request is sent to every host with
‘mode: “force-https”‘ on Chrome’s list. Only if a host responds with a
valid HSTS header ..
so not including the HSTS header in the web app's index page may cause it to be excluded from the preload list, leaving the web app open to attacks that HSTS (implemented with preload lists) would normally protect against.