Just like you guessed, that kind of problem could be caused by nameservers failure.
All that I am about to say is an assumption, because I haven't seen the server's code, but this is what I guess happens:
If lobby_register is true, and lobby_servers.txt isn't empty, Soldat will register the servers to lobby every once in a while (probably every 30 secs, if that's the time frame you got the error). The Soldat server probably does it in its main thread, which would explain the reason why you get connection problem, since none of the other data would be processed during that time, since the thread is blocked by DNS trying to resolve the hostnames.
But why chatting works? The only explanation that makes sense to me is that Soldat handles that part in a seperate thread, so even if the DNS resolver is blocking the thread that actually updates the game state, the other thread (or threads) is still actively reading and writing data from the sockets. This would make sense, since incase of chat messages, the server only needs to relay them to the other clients. Incase of packets that represent changes in game logic and state, require additional processing by the server (and this processing would be done in the main thread, instead of the thread(s) that handle the sockets).