PEP517's definition of "frontend" and "backend" is unclear to me

No, no and no. Copying from what I wrote in Build System Interface - pip documentation v23.3.2

When dealing with installable source distributions of a package, pip does not directly handle the build process for the package. This responsibility is delegated to “build backends” – also known as “build systems”. This means that pip needs an interface, to interact with these build backends.

Basically, when given a source tree, pip will make an isolated environment and install+invoke the build backend from that environment. The build backend (eg: setuptools, flit-core, hatchling, poetry-core etc) do the actual work of generating the source distribution / wheel and providing it to pip, using the mechanism described in PEP 517.

For pyproject.toml-based builds, see pyproject.toml - pip documentation v23.3.2 which describes the way that pip builds packages.

Yes.

build · PyPI is a good example for a build frontend and sphinx-theme-builder · PyPI is a good example of a build backend.