The way a linked IR ( using one hosted by other factory) is defined, is different from how a shared IR ( one hosted in this factory, but usable by others) is defined.
A problem can occur if you take an ARM template from the hosting factory, and try to deploy it to another factory. Since the ARM template was taken from the host factory, the new factory will look for something that isn't there. The new factory will think it is the host of the IR, when it is not.
The way to avoid this problem , is to have a third factory which is used just for hosting the IR's. This way all your environments can use the same linked IR definition.
Is this the case for you, @AyusmanBasu-6332 ?