If the total angular momentum J of an atom is not changing during a dipole transition, where does the angular momentum for the photon come from?
One must distinguish two conditions: whether the eigenvalue of $|\vec J|^2$, the squared total angular momentum, is changing; and whether the whole vector $\vec J$ is changing.
The latter is guaranteed in a dipole transition: one can't keep the whole vector constant. At most, you may satisfy the former condition: the length of $\vec J$ may stay constant so that the eigenvalue of $|\vec J|^2$ remains $J(J+1)\hbar^2$. But the whole vector will change. In quantum mechanics, we may only choose one more component to a maximum set of commuting observables. Aside from $|\vec J|^2$, we usually choose $J_z$, and the value of $J_z$ must change during the dipole transition because the photon is indeed carrying away some angular momentum.
One may change a vector by a nonzero amount even though its length may stay constant.
This notation is confusing because we should talk simply about $\vec L$ when we discuss the electric dipole transitions: the spin $\vec S$, the other term in $\vec J$, isn't interacting with the electromagnetic field in this approximation. If we do talk about the relevant part of the angular momentum only, $\vec L$, we will see that the selection rules actually do require $\Delta L = \pm 1$. There are lots of refinements for the selection rules you could be interested in but because of the rough appearance of your question, I won't go into details. See this summary table and the article around it for various selection rules.