unigui only creates MainForm at start. Other forms are created on demand.
In a DB app generally there is one DB connection which is shared among other Forms in app. That's the main reason of putting DB connection on MainModule. Also it speed ups your app because there is no need to establish a new connection each time you create a Form instance.
There is no restriction on where you can place DB components. It is only a matter of design. However, in future we may develop pool for dataModules to save resources. In this case putting db components on dataModule will make a difference.
Changing port with change your caller URL.
http://myserver:8090/myapp/my.dll