On Plus of empty string
Your first definition only holds if $\epsilon \notin L$.

The Kleene star and plus are defined using recursive sets $V_i$. We have:

$$V_0 = \{\epsilon\}$$
$$V_1 = L$$
$$V_{i+1} = \{ vw : v \in V_i \wedge w \in L\}$$

Then:

$$L^* = \bigcup\limits_{i=0}^{\infty} V_i$$
$$L^+ = \bigcup\limits_{i=1}^{\infty} V_i$$

Note that $L^+$ omits $V_0 = \{\epsilon\}$, but does not subtract $\epsilon$ from $L$.