Consider using cascading settings for default branch name
<!--IssueSummary start-->
<details>
<summary>
Everyone can contribute. [Help move this issue forward](https://handbook.gitlab.com/handbook/marketing/developer-relations/contributor-success/community-contributors-workflows/#contributor-links) while earning points, leveling up and collecting rewards.
</summary>
- [Close this issue](https://contributors.gitlab.com/manage-issue?action=close&projectId=278964&issueIid=327208)
</details>
<!--IssueSummary end-->
* Previous issue: https://gitlab.com/gitlab-org/gitlab/-/issues/293953
* Related discussion: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/57101#note_544680265
* Cascading settings documentation: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/58917
With the change introduced in https://gitlab.com/gitlab-org/gitlab/-/merge_requests/57101 the inheritance logic for default branches will be:
| Instance level | Root group | SubGroup 1 | SubGroup 2 | Project 1 (Result) |
| ---------- | ------ | ------ | ------ | ------ |
| `instance` | - | - | - | `instance` |
| `instance` | `root` | - | - | `root` |
| `instance` | - | `sub1` | - | `instance` |
| `instance` | - | - | `sub2` | `sub2` |
| `instance` | `root` | `sub1` | - | `root` |
| `instance` | `root` | - | `sub2` | `sub2` |
| `instance` | - | `sub1` | `sub2` | `sub2` |
| `instance` | `root` | `sub1` | `sub2` | `sub2` |
We select default branch setting in this order: direct group settings -> root group settings -> instance settings -> default git settings
Searching for default branch settings in the chain of groups (for deeply nested projects) can have a negative effect on the performance.
### Proposal
Explore and apply cascading settings for default branches: https://gitlab.com/gitlab-org/gitlab/-/issues/291082 (suggested here - https://gitlab.com/gitlab-org/gitlab/-/merge_requests/57101#note_544680265)
issue