At first I have made a simple circuit to make tones with a passive buzzer. I have used a buzzer, 1K resistor on base and a NPN transistor (8050). This is working nicely. The circuit is similar to what you can see at https://startingelectronics.org/beginners/circuits/arduino-buzzer/ except that I have a passive, not active, buzzer. The transistor is on the low side.
I am generating the square wave with Arduino's tone() function.
Next I wanted to replace the individual parts with a module. I got a module that is similar to this one: https://www.aliexpress.com/item/New-Electric-3-3-5V-Passive-Buzzer-Module-PCB-Dimension-3-3cmx1-3cm-For-Arduino-9012
When I started using it, I discovered that it has a PNP transistor connected on the high end and that when the I/O pin is low the transistor and buzzer are passing current and wasting energy.
It makes sense to me that designers understand that default for off is LOW, right? Why would somebody make the module this way with off requiring a HIGH signal on the I/O pin? Any advantages to PNP transistors over NPN here?