Haskell's monads are usually considered to mean strong monads in category theory, but it seems like the former is a bit stronger than the latter. With strong monads, you have a Kleisli extension operator

$$-^* : C(a, Tb) → C(Ta, Tb)$$

that operates outside the category $$C$$, whereas with Haskell's monads you can write an internal extension operator

$$e : \mathbf{Hask}(a ⇒ Tb, Ta ⇒ Tb)$$

that operates entirely inside $$\mathbf{Hask}$$. The intuitive difference is that $$M^*$$ could involve a translation on $$M : C(a, Tb)$$ that inspects its syntax, whereas $$eM$$ can only operate on $$M$$ extensionally, only manipulating $$M$$ through whatever accessors are available for its type.

AFAICT, $$-^*$$ can be derived from $$e$$, but not vice versa, even assuming tensorial strength and Cartesian-closed structure. Is this true, or is there a way to derive $$e$$ from $$-^*$$ that I missed?

In a CCC, we have the following equivalence:

$$C(a ⇒ Tb, Ta ⇒ Tb) \cong C((a ⇒ Tb)×Ta, Tb)$$

Using tensorial strength, to give an element of the latter it suffices to give an element of:

$$C(T((a ⇒ Tb) × a), Tb)$$

And then using the evaluation map, it suffices to give:

$$C(TTb, Tb)$$

But this is given by the multiplication of the monad. So, strong monads in a CCC actually do have this sort of internal 'bind' operation. Despite the presentation, this is actually one of the core motivations behind strong monads/functors—internalizing the operations. The tensorial strength is just a characterization that makes sense without the category necessarily being closed.