Yes, OPENTHREAD_CONFIG_ANNOUNCE_SENDER_ENABLE was intended to pick up devices that did not yet receive the new dataset. However, because this process occurs during normal steady state operation, there's a tradeoff between how often devices announce and the amount of channel capacity devices consume just to check if they are on the right channel.
One possibility is to force a router-capable device to first attach to an existing device before becoming a Leader. You can do this today by updating the device's Active Dataset to exclude the Active Timestamp. In other words, get the Active Dataset, remove the Active Timestamp, then set it back (with the removed Active Timestamp). Of course, doing this would mean that a router-capable device is not capable of becoming a Leader on its own if it is the only router-capable device in the network.
Would this work for your use case?