Immigration and visas are handled at the level of the Schengen Area, not the EU. The Schengen Area covers most of the EU, but some EU countries are not in Schengen (such as Ireland, Romania, Bulgaria…), while some non-EU countries are in Schengen (such as Switzerland, Norway…).
- Dark blue = EU + Schengen
- Green and yellow = EU, not Schengen
- Purple = Schengen, not EU
- Light blue = not EU, “de facto” Schengen
A flight within Schengen (not within the EU) is indeed treated like a domestic flight for immigration purposes, so passport control will happen at the first point in the Schengen Area (Amsterdam in your example, since both Amsterdam and Munich are in the Schengen Area).
Note that this applies only to immigration (passport/visa control). Customs checks still happen at the final airport (in most cases).
Also note that in some cases (e.g. due to the migrant crisis) there may be additional checks even within the Schengen Area. These are supposed to be temporary.