What is the difference between gauge invariance and diffeomorphism invariance?
The two seem very similar, but is the distinction between them that a gauge transformation changes the field variables of the given theory, but has no effect on the coordinates on the underlying manifold (the background spacetime remains "fixed"). Whereas a diffeomorphism is a mapping between different manifolds. Thus, gauge invariance of a theory is when such gauge transformations leave the theory unchanged, and diffeomorphism invariance of a theory is when a diffeomorphism leaves the theory unchanged (expresses the background independence of the theory)?!
What I find confusing the most is that in general relativity, under a(n) (active) diffeomorphism $\phi:M\rightarrow M$, the relevant quantities are also transformed, i.e. $R\rightarrow\phi^{\ast}R$, $g_{\mu\nu}\rightarrow(\phi^{\ast}g)_{\mu\nu}$, etc... such that the theory is invariant under such transformations. (In essence, it is a statement of the background independence of the theory.) And then, in a gauge theory such as QED one has a local gauge transformation $A^{\mu}\rightarrow A^{\mu}(x)+\partial^{\mu}\Lambda(x)$ that leaves the theory invariant. In this case, the vector fields are transformed, but the underlying geometry remains fixed.
Is the point that a diffeomorphism is a mapping between manifolds, whereas a gauge transformation is a mapping between vector fields in the overlying tangent bundle of a given manifold?