In many ways attack is the best defense. If you are on the attack then the other side has to concentrate more on their own defense and less on attacking you. This means the fight is done on their turf and you control the action. If you wait for the attack you are back peddling.
Self defense is not always about attacking. It's also about self awareness de-escalation. The only way that attack is the best defense, is if you already exhausted the two options that I just mentioned, or if you had no choice. Attacking is a valid defense, but it isn't your only option.
No, attack is not the best defense, because there is no self-defense argument unless an action is truly in self-defense. In order to have a perfect self-defense, an action must only be done to the extent that it is necessary to prevent the person from doing the aggressive thing. The person must actually be taking in action in order to respond to it.