My guess is that your problem is, in part, that you’re looking at the labels on batteries and power adapters and thinking that’s the voltage you will receive at the Arduino power input socket.
It’s not that simple. Use your oscilloscope to measure the voltage over time.
The voltage of a power adapter may vary with load. A typical “9V 350mA” adapter being run by an Arduino circuit pulling 50mA may have a voltage of around 12V.
Some adapters give unfiltered DC, consisting of a series of sine wave hill tops chained together one after the other.
The voltage varies in time, and varies with load. That’s what “power adapter” means.
The label on such an adapter tells you the minimum voltage at that typical current, or it may be the maximum current at which that minimum voltage will be provided.
Regulated adapters on the other hand have a label which tells you their regulated voltage, and the maximum current you may draw before the adapter may turn itself off.
Regulated adapters are usually physically smaller, but way more complex inside.
(My preference is for unregulated adapters where lightning resilience, power surge resilience, best safety isolation, survivability in high heat, or generally long life is important. Otherwise I use regulated adapters; which have to be replaced more often.)