The approach for custom-services to specify their own repo location will be to provide a /repos/repoinfo.xml inside the stack-version they will be in. This repo file will be loaded by Ambari during startup into the /api/v1/stacks/HDP/versions/2.4/repository_versions repos. Service repo files have a restriction that their (repo-name, base-url) locations should be unique and not conflict. When conflicts do occur, they will not be loaded into the stacks model.
Now the management-pack will provide such repos/ folder in mpacks/custom-services/8.0.0/repos which will be linked into the stacks/ folder.
ambari/ambari-server/src/main/resources/stacks/HDP/2.3/services/SERVICE_NAME/repos -> mpacks/custom-services/8.0.0/repos