I'm of the opinion that objects returned should be Javascript if possible and then fail over to Java if there is no obvious equivalent. However, I agree with you that there are quite a lot of inconsistencies in what is returned, I find them most often when dealing with Arrays and Vectors. I'd much rather have an array in every case.
So not really an answer, more of a confirmation that you're not going mad!