When you disambiguate a grammar, you usually want at least to keep the language the same. So the answer is that you want $\mathcal L(G)=\mathcal L(D)$.
If you accepted that $\mathcal L(G)\subset \mathcal L(D)$ then you could simply choose $\mathcal L(D)=\Sigma^*$, since $\Sigma^*$ has an unambiguous grammar. Of course $\Sigma$ is the terminal alphabet.
If you accepted that $\mathcal L(D)\subset \mathcal L(G)$ then you could simply choose $\mathcal L(D)=\emptyset$ since $\emptyset$ has an unambiguous grammar.
I assume you were considering context-free (CF) languages. You should have said so.
And you should remember some facts that will not help:
Some CF languages are inherently ambiguous, so that you cannot find an unambiguous grammar for them. Furthermore, it is undecidable whether a CF language is inherently ambiguous,
It is undecidable to know whether a grammar is ambiguous, hence it is not clear when a disambiguating transformation is needed.
See also wikipedia page on ambiguous grammars.