Find the biggest leaded piezoelectric element you can.
You can also get them housed in plastic cases.
Just be careful to get the “transducer” version, not the “buzzer” version. The buzzer version will have integrated drive electronics and only output one tone.
Gluing it to something that will resonate, like a thin sheet metal project enclosure, will enhance the volume.
Using your D1 mini you can generate many different pitch and length beeps using software PWM:
This example shows how to change the pitch:
This sort of transducer will usually have a resonant frequency around 6kHz (loudest) but should be usable from 1kHz to 10kHz at least.
You may also have to drive it with a transistor and higher voltage, rather than the direct 3.3v output of the D1 mini to get more volume. But try direct drive first and see.
The (considerably more expensive) option is to use a chromecast audio and some cheap USB speakers with an input jack.
This allows you to play any audio beep file (e.g. wav or mp3) you want using the HA media player integration, but you can also use text to speech for voice announcements.