when a user (let’s call them Kim) on one instance (let’s call it “Works”), subscribes to a community on another (let’s call that one “World”), Works creates a copy of the community on its own database. It also asks World to notify it when there is an update to the community – when there is a new post, new comment, up/downvote, something gets deleted, etc. Kim can now browse and interact with the community on Works. Works will also notify World when Kim does something in the community so everything syncs and everyone sees the same thing.
So really, the problem OP is describing is simply a natural consequence of communities not existing on Works until someone subscribes to it.
The gardening community on World will be called gardening@World on Works. they will continue to be distinct communities, and you can subscribe to either or both independently