I will first try Haxe as I just know it.
I just used haxe language with other backends and it is quite good, never tested with lua, but I’ will do a complete evaluation soon.
Haxe has a lot of pros against direct use of lua language.
It is flexible for instance Proletatiat Inc. has used it in production both in Unity3D(World Zombination) and Unreal Engine 4(Streamline) .
Tools for haxe are very solid and and then there is Visual Studio Code that is completely customizable and just much more feature rich than Lumberyard Script Editor.
Haxe has very powerfull macros and overally way more comfortable to use for object oriented programming than lua.
Main reason is that I’m actually not very productive with lua especially with the Lumberyard Lua editor at least in the current state.
I’m still sceptic about the need to develop a new lua editor when you can customize something pre-existing.
Theorically Lumberyard may support directly Haxe in the scripting workflow and doing this it may also switch to a different scripting backend in future and still be compatible with old scripts.
The only issue I can actually foresee:
Haxe compiles to a single lua file so lumberyard may need some modification to be able to specify in entities what script to assign from a file containing multiple scripts.(it is maybe possible to create(automatically is better) empty script that just requires the big haxe compiled one and return the script we want to use).
Haxe also needs definitions of Lumberyard Classes and Ebus one can make them by hand, but it will be far better to modify the reflection system to output these definitions.
If you have just tried Haxe with lua or are interested in the subject let me know.