As others have stated, it uses both.
SimEthereal, the library, is using UDP and a custom protocol on top of that to present reliable object state transfers. Its protocol is better than TCP because it knows it can throw away old state, etc.. It's optimized for object syncing, only sends changes, keeps data grouped into frames, etc..
Most of the rest uses TCP unless otherwise stated. For example, in the RPC mechanism there is a way to call a method as unreliable and asynchronous... this would use UDP. I don't know if Sim-eth-es uses that annotation or not. Pretty sure not.
And yes, the UDP port is configurable in your code. The SimEthereal library just uses whatever you've setup in your Spider Monkey network connection... and there you can give a different port to both.