実際のDOMノードに<audio>タグを足さなくても、
const audio = new Audio();
という形でjavascript上でHTMLAudioElementを作成するだけで音声は再生できます。
HTMLAudioElementは<audio>をjavascriptから操作するためのメソッドを提供するためのインタフェースなので、<audio>タグに対し、jsで行うことの出来る操作は一通り実行できますし、イベントハンドラの設定も可能です。
当然、見た目には反映されない
<audio>タグを使うと基本的にブラウザ標準の音声インタフェースが出ますが、
js上でHTMLAudioElementを作成した場合はDOMツリー上に載らないので全く見た目には影響しません。
元より既存の見た目に頼るつもりがない場合は、こちらの方が取り回しが楽ではないかと個人的には思います。
見た目部分と切り離せますので。