Help! `twine upload` erroneously says: Start filename for 'leo' with 'leo'

The dist directory contains two files, created by python -m build, both of which start with “leo”:

leo-6.7.8-6-py3-none-any.whl
leo-6.7.8-6.tar.gz

The wheel uploads correctly, but twine complains about the .tar.gz file:

python -m twine upload -r testpypi dist/*
Uploading distributions to https://test.pypi.org/legacy/
Uploading leo-6.7.8-6-py3-none-any.whl
100% ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 15.1/15.1 MB • 00:06 • 2.5 MB/s
Uploading leo-6.7.8-6.tar.gz
100% ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 13.1/13.1 MB • 00:03 • 3.4 MB/s
WARNING  Error during upload. Retry with the --verbose option for more details.
ERROR    HTTPError: 400 Bad Request from https://test.pypi.org/legacy/
         Start filename for 'leo' with 'leo'.

Does anyone have any advice?

build 1.1.1, twine 5.0.0, Python 3.12.0 on Windows 11.

What is the hyphenated part -6 for, a range indication? It could be related to the problem with the tar file.

After the first upload, a suffix is required by PyPi.

Edward