Certainly can be. Note that URL reservations are protocol-specific, so you might want to pick one and just use that for all connections to that server.
For example, on the development system, XData might be configured to use port 2001 and HTTP. On a test or production server, XData might instead be configured to use port 6001 and HTTPS.
This can be a nuisance to keep track of, particularly when you might want a TMS WEB Core app to connect at different times to either one, when running that app either on the development system or elsewhere. One way around this is to add some kind of configuration file, or a parameter of some kind, both to XData and your app. Initially, though, it is just a matter of ensuring that they are set properly for the particular combination that you're trying to test.
In the case of XData, the parameter would be set when it starts - telling it what port to run on. On the development system it might be set to use the default baseURL value:
ServerContainer.XDataServer.BaseURL := 'http://+:2001/tms/xdata'
When the XData project is deployed on another system with the HTTPS URL reserved for port 6001, you'd start XData with a different baseURL value:
ServerContainer.XDataServer.BaseURL := 'https://+:6001/tms/xdata'
For the client app (or your browser testing) you'd then use one or the other to connect to the server you're interested in. Either one of these:
https://devserver.com:2001/tms/xdata
https://prodserver.com:6001/tms/xdata
You can check out the last part of this blog post for how to set up a configuration.json file for the client app:
This other post covers a lot of the work involved in setting up XData from the beginning, including the CORS bit. It also uses a configuration.json file, but this was added after the blog post was written. You can see how it was handled by looking at the code on GitHub, for which there is a link at the bottom of the post.