I don't know much of set theory, but is this mixed set allowed in this context?
There's an axiom of set theory that, for any two sets $A,B$ then $A \cup B$ is also a set. So it's definitely defined.
When does NFA ε-transition happen?
Try not to think of NFAs as actual machines, but instead focus on their mathematical definitions.
For every state $q$ of our NFA, there is some set $\epsilon CLOSE(q)$ of sets reachable from $q$ using 0 or more $\epsilon$-labelled transitions.
In an NFA without $\epsilon$-transitions, from a state $q$ and an input letter $a$, then the transition function $\delta(q,a)$ gives a set of states reachable from $q$ on input $a$, specifically all those states with an $a$-transition from $q$.
In an $\epsilon$-NFA, the states you can reach from $q$ on input $a$ is defined as to be
$\{q' \mid (q,q'') \in \delta, q' \in \epsilon CLOSE(q) \}$.
That is, it's the set of states you can get by following $a$.
The exact definitions are a bit more complicated, because you have to account for also taking $\epsilon$-transitions from whatever state you're starting at.
A word is accepted by an NFA if there's some sequence of transitions you can take to an accepting state where, when you concatenate the labels of all the transitions you take (treating the character inputs as 1-letter words), you get that word.
The point is, the meaning is just this definition. There's no "when" it happens, because it's sets and functions and relations all the way down.
I would have avoided this confusion, if ε would mean "NO_INPUT" symbol, rather an empty string as per definition.
We usually don't say this, because $\epsilon$ doesn't occur in the input words. (There's an infinite number of $\epsilon$s implicitly between every character of the words, but then our representation isn't unique we don't want that.) What you could do is have some special symbol which, when attached to a transition, denotes that it's a transition that can be taken without consuming input. But that's purely a definition of style: the final result is not changed.