When you say xHTML request, do you mean XMLHttpRequest?
REST requests ultimately still use AJAX behind the scenes. An AJAX request cannot normally be sent to a server from a different origin.
The easiest way to overcome same-origin issues is to proxy all requests through the same server. However this isn't always possible for load, performance, networking or security reasons.
Traditionally the workaround for this is to use a JSON-P request. This takes advantage of the fact that SCRIPT tags can be injected into a page to point at any URL you like, thus sending a request. JSON-P is not as powerful as AJAX (for example, you don't get decent error handling and you can only use GET) but it is supported by all browsers. The server needs to support JSON-P for this to work. There is no such thing as JSON-P REST.
XMLHttpRequest 2 introduced support for a feature known as CORS, cross-origin resource sharing. This provides a mechanism for making AJAX requests to a different origin. It isn't supported in older browsers (including IE 6 & 7) or Opera. Depending on your target browsers this may not be a problem.
Only GET and POST requests can avoid pre-flighting, so if you're using REST you're stuck with it. By default ExtJS sets a request header on all AJAX requests and you'll need to disable that if you want to avoid pre-flighting with GET and POST. You'll also need to switch on the cors setting for IE support:
If you're interested in pursuing CORS I suggest the following as further reading:
Ext.Ajax.useDefaultXhrHeader = false;
// Can also be specified in the request options
Ext.Ajax.cors = true;
Just in case this wasn't clear, if you can do it with jQuery you can do it with ExtJS. These are browser restrictions, not library restrictions.