Hmmm. I think I understand.
The endpoint should be set as a setting in elasticsearch.yml according to S3 repository plugin | Elasticsearch Plugins and Integrations [8.11] | Elastic
The client used to connect to S3 has a number of settings available. Client setting names are of the form
s3.client.CLIENT_NAME.SETTING_NAMEand specified insideelasticsearch.yml.
So add this:
s3.client.default.endpoint: s3.eu-west-1.amazonaws.com
And restart all nodes.
And remove it from the s3 repository definition:
PUT /_snapshot/s3
{
  "type": "s3",
    "settings": {
      "bucket": "liv-elasticsearch",
      "compress": "true",
      "max_retries": 3
    }
}
There is no endpoint in repository settings: S3 repository plugin | Elasticsearch Plugins and Integrations [8.11] | Elastic