You should find a list of all tested RAM modules on the manufacturer's website (MSI). It also partly matters whether you want one, two or four modules. Be sure to take a look before you buy!
Alternatively, many RAM manufacturers, e.g. Kingston, have their own lists of supported RAM per mainboard. Also have a look if you are not sure.
Zen 3 processors require AGESA v2 1.0.8.x firmware or higher. I doubt that the board is already delivered with this AGESA version. Since I bought the board a year ago, I unfortunately cannot say whether "new" boards are already delivered with the corresponding AGESA version. However, MSI offers the corresponding BIOS for download on their homepage.
Flashing a new BIOS at MSI is very easy and problem-free. If you buy a new mainboard anyway, I would generally recommend updating the BIOS to the latest version (even with another board). Especially with this MSI board, the time to POST is noticeably reduced with newer BIOS versions.
The motherboard does not have a GPU, the iGPU is on the CPU, if you have a CPU with an iGPU. For AMD, these are only the CPUs with a G (AMD Ryzen) at the end of the name or the Athlon or A-Series APU.
E.g.: Ryzen 5 3400G
If you do not have a G at the end, you cannot use the outputs of the mainboard.
For such problems, it can be worthwhile to have a 50.- emergency graphics card at home, a recommendation from my side.
Prices go up and down all the time. If you want to buy something, watch it for 1-2 weeks until you know all the prices. That's what I've always done. When it is cheapest, you can order it.
It's been a while. If I can remember, there were problems and I carried out a BIOS update. I can't answer whether this was the error or whether an update is necessary. But an update can never hurt :)
Short answer: Yes.
Long answer: It depends on what you want to do. Really extreme overclocks are not a smart idea with this board with the somewhat cheaper VRM configuration, you won't get really good results. However, (extreme) overclocking on Ryzen 3x00X processors is usually not a good idea anyway, as it takes a disproportionate amount of effort to get any extra performance at all.
I myself run a slightly overclocked Ryzen 7 3700X with this board without problems, stable, 24/7.
I use it together with a 3900X. It works without any problems. However, I also run the processor at stock frequencies and have not overclocked, so I don't know if it is suitable for overclocking.
Yes, that is possible. Along the bottom edge are the 4 connectors for the system fans. In the upper right corner is another connector for fans/pumps and the connector for the CPU fan is right next to the heatsink above the CPU.