Not sure if this will be of help as your setup might be different, but did a quick test on a VM (first time config, without using a real domain).
NethServer acting as Gateway (DHCP, DNS server).
ejabberd installed without changing any file.
Users created on the server.
On LAN, xmpp (pidgin) clients configured with:
Anything else left as per defaults.
LAN clients were able to chat.
For external xmpp (pidgin) client used same settings but adding the server address on pidgin’s Advanced tab (connect server), and configuring my router to forward xmpp ports to the server.
Also tried from mobile phone with Conversations xmpp client, configuring it with the server address (used Public IP address, as had no real domain prepared). External client was able to chat.
With a real domain you might need to configure DNS SRV records. I think @filippo_carletti and @tzar can help you better on that.
Continuing the discussion from Ejabberd service won't start:
The ejabberd web interface is disabled by default, but can be enabled as per @giacomo indications:
config setprop ejabberd WebAdmin enabled
Then you can access as email@example.com, for instance, at