1) If you want to program in GWT or if you want to program in one language in your entire stack you use ExtGWT.
2) Whatever you're more comfortable with. Note with GWT you can still write your own JSNI methods and write Javascript there
3) No I would not think there are many performance issues compared to ExtJS. The GXT debugging support is great.
4) With ExtGWT you get the benefits of the tooling support for Java and the strong typing if that's your thing.