I would still like to understand how it works: aplay -l takes the simple-audio-card,name for the only sound card it shows from the sound node. It would usually take that as hint, that the sound node, which refers to the 3.5mm jack, was probed, which is not what we want.
If both compatible = "simple-audio-card"; were probed, I would usually expect two sound cards in aplay -l.
If you change simple-audio-card,name in my-soundcard, does this have an effect on the name shown in aplay -l. And if you status = "disabled" the sound node, is aplay -l not showing any sound card anymore?
That both compatible = "simple-audio-card"; would get somehow merged into one usable ALSA device does not seem logic to me, or if at all, more by accident than intentional, hence fragile. I’d usually expect a clean overlay to either only create a new node, which appears as additional ALSA device, or disable or replace (adjust properties as needed) an existing node, if it conflicts. But changing only the simple-audio-card,name of one node + adding an entirely new one both, does not seem correct/clean, as far as I understand how these work.
EDIT: One thing I understood in the meantime, is that nodes are enabled by default, which is why the sound node does not contain a status = "okay" property. Hence that is not needed for the my-soundcard node either (but does not hurt). status = "okay" is only needed, if a node is defined with status = "disabled" in a dtsi, and you want to enable it in a board dts.This also means that status = "disabled" works on the sound node, to really disable onboard audio. If the PCM5122 is afterwards not detected, I’d assume something to be wrong in the my-soundcard node.