Hi,
I was just going to mention that blog post, but I see you found it already. TweenEvent can be easily be replaced with an anonymous function. For example, if you want to pass the tween to an OnUpdate callback, you can do:
myTween.OnUpdate(()=>MyFunction(myTween));
By the way, what issue did you find in HOTween? I definitely recommend DOTween over that, since it's much more efficient and flexible, but you could also try to update to a more recent version of HOTween, in case that bug, whatever it was, was solved?
Cheers,
Daniele