Assuming that multiplication by a diagonal matrix is computationally easy, we can write it as:
$$
ADA^T = (A\sqrt{D})(\sqrt{D}^TA^T) = BB^T
$$
where $B=A\sqrt{D}$. Motivated by the fact that the left-singular vectors of $B$ are a set of orthonormal eigenvectors of $BB^T$, we can further proceed:
$$
B = U\Sigma V^T
$$
The first columns $m$ columns of $U$ (corresponding to $m$ highest singular values) should correspond to the first $m$ eigenvectors of $ADA^T$. Since you only want the leading eigenvector, this will suffice.
Here is a short MATLAB code to realize the idea:
m = 5; d = 3;
A = randn(m,d); % A is a random matrix - note that it can have negatives
D = diag(rand(d,1)); % just a random diagonal that is positive
[V, ~] = eigs(A*D*A', d); % what we actually like to have
[U, ~, ~] = svd(A*sqrt(D),'eco'); % the variant avoiding the product
A sample run of the code above produces the following $U$ and $V$:
$$
U = \begin{bmatrix}
-0.4276 & 0.0746 & -0.6573 \\
-0.3001 & 0.2736 & 0.6797 \\
-0.5469 & 0.5083 & -0.1503 \\
-0.4068 & 0.0579 & 0.2730 \\
-0.5124 & -0.8111 & 0.0941
\end{bmatrix}\quad
V = \begin{bmatrix}
-0.4276 & -0.0746 & 0.6573 \\
-0.3001 & -0.2736 & -0.6797 \\
-0.5469 & -0.5083 & 0.1503 \\
-0.4068 & -0.0579 & -0.2730 \\
-0.5124 & 0.8111 & -0.0941
\end{bmatrix}
$$
Note the sign ambiguity. Signs of the vectors are arbitrary for the eigen-decomposition anyway. If you like to get the single leading eigenvector, another option is to directly replace the last line with:
[U, ~, ~] = svds(A*sqrt(D),1);