When studying tensor representations of the special unitary group $\mathrm{SU}(N)$, one usually introduce two types of vectors $\psi^i, \psi_i$ (see this website or Chapter IV.4 in Zee's book Group Theory in a Nutshell for Physicists). The one with upper index $\psi^i$ is ordinary, which transforms under $U \in \mathrm{SU}(N)$ as
$$ \psi^i \to {U^i}_j \psi^j $$
while the one with lower index $\psi_i$ is defined to be the complex conjugate of $\psi^i$
$$ \psi_i := \bar{\psi}^i $$
More confusions arise if I dig deeper. For example, I cannot decide whether the transpose of ${U^i}_j$ should be denoted as ${(U^T)_j}^i$ or ${(U^T)^j}_i$, and I am not clear on the relation between ${U^i}_j$ and ${U_i}^j$.
Questions:
What is the full machinery behind this lower/upper index notation? And why raising/lowering the index is accompanied by a complex conjugation?
Is there a generalization to deal with the indefinite unitary groups $\mathrm{SU}(p,q)$ (with $p+q = N$)?
Remember that usually in the tensor or Ricci calculus, upper indices stand for covariant components, like the coordinates of a vector or the coordinate functionals in a dual basis. And lower indices stand for covariant components such as the vectors in a basis or the coefficients of a linear functional.
With complex or Hermitean vector spaces, an additional notational difficulty arises in the slight difference between the trace and the scalar product, in that the trace is used as bilinear, while the scalar product is anti-linear in one argument, the first if compatible with bra-ket notation.
So if you define a linear functional from a vector via duality using the scalar product as $$\alpha(v)=\langle a\mid v\rangle,$$ the coefficients of the linear form are $$\alpha_i=(a^i)^*.$$
Note that the asterisk has some ambiguous interpretation. In $U^\dagger$ or more seldom $U^H$ it is without doubt that both transposition and complex conjugation are applied. In $\overline U$ it is also clear that the entries get conjugated without changing their position. In mathematics $U^*$ denotes the adjoint operator, in the Hermitean case equal to $U^\dagger$. In other contexts $z^*$ is readily used as simple complex conjugate $\bar z$, so one would have to check in the immediate context. So it could be that $(a^i)^*$ is also quite naturally $(a^*)_i$.
$U^T$ or $U^H$ are still matrices or linear operators on the same vector space, so the index positions remain the same as in $U\in {\rm Hom}(V)\simeq V\otimes V^*$. In general one considers all tensor products of a space with itself or its dual space and of the same signature as isomorphic, so that one does not need to coordinate the index positions between upper and lower indices, inserting spaces etc.
I do not see how any of this would change for indefinite scalar products, except that you would have to include the matrix of the scalar product, $⟨u∣v⟩=\bar u^i\eta_{ij}v^j$, so that now $(a^*)_j=\overline{( a^i)}\eta_{ij}$. This means that the adjoint construction already contains the (sign) modifications from the scalar product.