About Orbitcontrols

Because you are operating on the same canvas. And the same canvas is listened to. You need to separate what is to be moved/listened to separately, e.g. on hover.

function TwoObj() {
  const [isHovered, setIsHovered] = useState(false);

  return (
    <>
      <OrbitControls enabled={!isHovered} makeDefault />

      <ambientLight intensity={0.5} />
      <directionalLight position={[5, 5, 5]} intensity={1} />

      <mesh position={[-2.5, 0, 0]}>
        <boxGeometry args={[1, 1, 1]} />
        <meshStandardMaterial color="red" />
      </mesh>

      <mesh
        position={[1, 0, 0]}
        onPointerOver={(e) => {
          e.stopPropagation();
          setIsHovered(true);
        }}
        onPointerOut={() => setIsHovered(false)}
      >
        <planeGeometry args={[3, 3]} />
        <meshStandardMaterial side={2}>
          <RenderTexture attach="map" frames={Infinity}>
            <color attach="background" args={["#6fff00"]} />

            <ambientLight intensity={0.5} />
            <directionalLight position={[10, 10, 5]} intensity={1.5} />

            <PerspectiveCamera makeDefault position={[0, 0, 5]} />

            <OrbitControls enabled={isHovered} makeDefault />

            <mesh>
              <torusKnotGeometry args={[1, 0.3, 100, 16]} />
              <meshStandardMaterial color="blue" />
            </mesh>
          </RenderTexture>
        </meshStandardMaterial>
      </mesh>
    </>
  );
}

This maybe will be helpfull as well: