My favorite implementation: Keycloak.
It all mentioned
- user identity: core user info endpoint
- discovery: https://openid.net/specs/openid-connect-discovery-1_0.html
- client registration: https://openid.net/specs/openid-connect-registration-1_0.htm...
And also other features which are important for more complex cases than just simple "login using X" button.
OpenID Connect adds lots of bloat, it's very large and complicated. IndieAuth is actually easy to understand and implement.
As someone who maintained an OpenID 1/2 OP for a few years, I would much rather implement OpenID Connect Basic Profile than IndieAuth.
IndieAuth, like OpenID 1/2, also assumes the user has a known profile page or even knows what a URL is, which are both statistically unlikely.