The ship was heading towards Mljet Island on an "urgent medical transport" mission when the accident occurred on Tuesday evening near the popular tourist city, according to the ministry responsible for maritime affairs.
"Two slightly injured people were rescued at the scene of the accident and two were found dead. Five more are still being searched for," the ministry said in a statement.
The nine people on board the dinghy were Croatian nationals employed in catering, it said.
The local Dubrovacki Dnevnik newspaper reported that the dinghy was travelling from the island of Sipan to the mainland and, according to a coastguard captain it quoted, was not equipped with navigation lights.