Why would you replace an existing codebase like this instead of forking the repo instead and then making the changes?

They did fork it initially to experiment, then decided this experiment would go forward and thus naturally belong in the main repo.

Git has this branch concept. It's being used correctly here, IMHO.