I just tested this on Satellite 6.10 (Katello 4.1.1) and I am not seeing what you have. In my case, BaseOS repository sync the BaseOS content as well as AppStream which is then added as a “subrepository”:
[variant-BaseOS]
id = BaseOS
name = BaseOS
packages = Packages
repository = .
type = variant
uid = BaseOS
The relative path is available and works fine:
# curl -k https://zzzap.xxx.redhat.com/pulp/content/Default_Organization/Library/custom/CentOS8/CentOS8StreamBaseOS/AppStream/
<!DOCTYPE html>
<html>
<body>
<ul>
<li><a href="EULA">EULA</a></li>
<li><a href="GPL">GPL</a></li>
<li><a href="Packages/">Packages/</a></li>
<li><a href="extra_files.json">extra_files.json</a></li>
<li><a href="repodata/">repodata/</a></li>
</ul>
</body>
</html>
This also means we no longer need the kickstart workaround anymore, actually it can break things now. We need to remove it.
I will test end to end provisioning on Monday as well as Rocky Linux but I expect it to be the same.
Note that only Pulp 3 will work correctly, I do believe that Pulp 2 hasn`t been fixed.