While compiling to JavaScript obviously results in JavaScript code (which is what the browser can understand), but compiling to Flash does not compile to ActionScript 3 and then the flash assembly (the .swf file). It goes straight from HaXe to the flash assembly.
Likewise, the Java target (which is still in development) won't merely translate HaXe into Java and then compile that Java. I've seen solutions like that and it's not fast or elegant.
Haxe is a language and you can browse the libs available for its compile targets at http://lib.haxe.org/.
If you want to find out more about a framework that uses Haxe and is oriented towards mobile gaming (but not only towards that) checkout HaxeNME.
If you want a nice mature game engine lib built for Haxe try awe6 in the search at http://lib.haxe.org.
Haxe isn't lacking in the game engine department, thing is you can use Haxe with externals for node.js, a lib like noxe that extends haxe to node or simply use whatever javascript lib you feel like and output js. Or use the pure data lib to interact with mobile. Haxe isn't restricted to gaming. It's just one of the things the language allows for.
Second, I don't see a mention of a physics engine builtin to haXe anywhere on the features page,
where are you seeing that?
Haxe isn't a game engine. It's a language that compiles into other languages.