An open source gives you protection, but it is limited to things that are hidden and the building components that create a project. However, being open source again does not fully protect you from what is hidden because just because it is public does not mean everyone can even verify it. Not everyone is a tech bro to run through everything on GitHub. I'm sure that if everyone knew how to verify firmware, the MK3 exploit wouldn't have happened in the first place.
Another thing is that if something is open source, you don't have to worry about the integrity of the software, but you still need to play your own part for security. Let's say you use a Trust Wallet app, and you get hack, your coins are drained, if you do everything right the first thing that will come to your mind is perhaps there is something wrong with the app that you don't know, only a closed source makes you doubt an app. An open source most often they are transparent unless something went wrong just like in the case of Coldcard firmware.
I think that you are mixing up a bit the concepts with small distinctions. When you talk about the word verify and process of verifying firmware, that is not the same as being able to understand or audit some big code online. When you talk about verification you are talking about making sure that the firmware on the device matches what you have downloaded or the original code. Knowing how to verify firmware or downloads would not prevent the MK3 exploit. The case of MK3 is clear, firmware verification would not prevent anything because the exploit comes from an error in the software implementation because an error made it use the wrong RNG implementation.
Teaching people to verify firmware is not that hard, we sometimes teach people to verify wallet software downloads with hashes and that. To learn that you don't need to be any kind of tech bro, it can be part of basic computer use. But to be able to read code and understand it is very hard, and to be able to find security bugs in code is even harder. So the issue that we had here is that there was a big code error that was overlooked by everyone for a long time, knowing how to verify firmware would not have prevented that.