That’s correct behavior. Hugo will only render the value of {{ .Site.BaseURL }}
where it is explicitly referenced in a template or when adding cross-references.
What you can do with your theme is to add the HTML base
tag in the header
section of layouts/partials/header.html
(assuming you’re using that partial):
<head>
<base href="{{ .Site.BaseURL }}">
...
</head>
This will make the browser implicitly prepend the base URL to every relative path in the template.