I wonder if something like a hashtag system, or built in multi-communities would be a good solution. It's definitely something I'd say needs to be addressed at some point, but I'm not sure what would be a good solution, especially as I'm not yet familiar with the specifics of ActivityPub. The solution you pose seems to be a good step in the right direction.
I'll also say, I don't think limiting communities to a single instance is the answer, because if that instance ever goes down for whatever reason, the whole community is gone. It should be distributed across instances by design, imo. I've seen some people suggesting this, so I wanted to address it.