<!-- If you need to report a security issue please visit https://github.com/apache/dubbo/security/policy -->

- [x] I have searched the [issues](https://github.com/apache/dubbo/issues) of this repository and believe that this is not a duplicate.

### Environment

* Dubbo version: 3.2.0 / 3.2.1
* Operating System version: Windows 10
* Java version: OpenJDK 17.0.6

### Steps to reproduce this issue

```java
public interface RemoteCacheSyncService {

  void flushCache();

}

@DubboService
public class RemoteCacheSyncServiceImpl implements RemoteCacheSyncService {

  @Override
  public void flushCache() {
	  // some code			
  }

}
```

We have 3 microservices, referred to as `A`, `B`, and `C`.
Each service contains the above code.

But, just `C` has a `@DubboReference` to the interface only.

```java
@DubboReference(cluster = ClusterRules.BROADCAST)
RemoteCacheSyncService remoteCacheSyncService;
```

### Expected Behavior

Call **ALL** implementations in **ALL** microservices.

### Actual Behavior

However, since there is a service implementation of the interface in the **same application** ( `C` ),
Dubbo will use the `injvm` protocol. Only the service implementation located in `C` will be invoked.

Same issue with https://github.com/apache/dubbo/issues/6842 , however, it came back again.




private final List<Invoker<DemoService>> invokers = new ArrayList<>();
    private final Protocol protocol = ExtensionLoader.getExtensionLoader(Protocol.class).getAdaptiveExtension();
    private final ProxyFactory proxy = ExtensionLoader.getExtensionLoader(ProxyFactory.class).getAdaptiveExtension();
    private final List<Exporter<?>> exporters = new ArrayList<>();
    @BeforeEach
    void beforeMonth() {
        ApplicationModel.defaultModel().getBeanFactory().registerBean(MetricsDispatcher.class);
    }
    @AfterEach
    void after() throws Exception {
        for (Exporter<?> exporter : exporters) {
            exporter.unexport();
        }
        exporters.clear();
        for (Invoker<DemoService> invoker : invokers) {
            invoker.destroy();
            if (invoker instanceof ScopeClusterInvoker) {
                Assertions.assertTrue(((ScopeClusterInvoker) invoker).isDestroyed());
            }
        }
        invokers.clear();
    }
    @Test
    void testScopeNull_RemoteInvoke() {
        URL url = URL.valueOf("remote://1.2.3.4/" + DemoService.class.getName());