I think there is no way around using these experimental endpoints, they are used to complete the flows and no alternative exists. I think the experimental is just there auch that they can change the endpoints in the future.
If you are self-hosting, it should be easy to keep frontend and backend in sync. It might just require some work when upgrading between versions.
Yes, kratos-client is the right choice for self-hosted setups. It is generated from the spec that the open source kratos implements (make sure to use the exact same version as your kratos version)
The ory client is almost the same, so it would also work in most cases. But because they are releasing ory/network more frequently than open source kratos, the two can diverge.