Right component supplies an exact phonetic match (bào) and doubles as semantic -
暴 itself means 'violent, sudden, fierce'. The combination reads as 'violent fire' = explosion. Same phonetic in
瀑 (waterfall),
曝 (expose). A clear case of doubled semantic + phonetic where both halves push the same meaning.