.htaccess seems to be required but I can not find it

I would like to know why the AllowOverride directive change, which seems to be very much to do with enabling .htaccess files, solved the problem

If there are no .htaccess files then adding AllowOverride All in the server config is not going to do anything. As you suggest, AllowOverride essentially enables .htaccess files to be processed (if any exist along the file-path). Specifically, it allows directives in .htaccess to override directives that might have been defined in the server config (in a directory context).

I thought I had read that WordPress requires a .htaccess file in the root directory.

You can run WordPress without a .htaccess file. However, to use “pretty permalinks” (ie. without /index.php being present in the URL) you do need a .htaccess file (on Apache or LiteSpeed servers).

Although, having said that, everything you can do in .htaccess can be done in the main server config (and much more), so you don’t strictly need a .htaccess file at all.