I think to get the original dimensions you'd need to make a hidden copy of the Ext.Img that doesn't have its size set:
You can then call getWidth() and getHeight().
This still has the problem of knowing when it has loaded. You could either use polling, assuming a 0 size means it hasn't loaded yet, or try hacking in to the underlying img element. When I've implemented things like this in the past I've ended up implementing both polling and events as I found just events unreliable. Of course I wrapped both techniques behind an ExtJS event to hide the nastiness behind a nice API.