Thanks everyone for your help. I think the problem is now solved. I will document it a bit below for others, but before that I would make some observations and comments about the portability of Hugo.
It seems from my many DuckDuckGo searches that lots of people want to make 100% portable server-free static websites, but nobody (apart from you guys) have simple and clean solutions for achieving this. This in itself is a problem as it [a] wastes a lot of time, [b] probably turns people off using Hugo, myself included and [c] seems simple to fix in principle at least.
So, those who are capable of coding, could you perhaps look at adding a compile switch, perhaps
hugo --UglyUglyURLs
which forces absolutely every internal URL to point specifically at a specific file. e.g. the HOME url which is often just coded as:
href="./"
could instead enforce the address as:
href="./index.html"
The way I have gotten around this in this instance is to modify the partial “header.html” file inside the theme that I downloaded to read:
<a class="navbar-brand" href="index.html">
which is hardly an ideal solution as a theme update will overwrite my changes.
Of course it could be that my issue is actually that the theme is not written correctly? In that case, are there clear examples of HOWTO and HOWNOTTO guidelines for writing link code within themes?
Another example from the theme I used is that the menu:
HOME ABOUT ETC CONTACT
is coded such that HOME is separated from the rest of the menu items, which are generated by iterating over data in config.toml. To solve this problem, I removed the separate (HOME) code from the theme file, and added the HOME code into config.toml so that home is also generated during the iteration loop along with the rest of the menu items, and thus the very specific URLs (e.g. index.html) are used.