The Germans referred to these covers as "gummimundungsschoner". (rubber muzzlecovers). They were the final pattern introduced in the early 1940s. Prior to that, brass or steel covers with a lid were utilized for the M98 pattern rifles, and doubled as both a muzzle/sight protector and bore cleaning tool guide. When the sight hood for the K98k (and other German rifles) was also introduced, the earlier steel covers could no longer be used. In addition, older K98ks, when turned in for repairs, often had slots added to the front sight base, and a sight hood upgrade was made. The rubber muzzlecovers were much cheaper to make, and would fit on just about every rifle the Germans used. Lastly, should the rifle need to be fired in emergency, with a metallic cover still in place, it was likely damaged (although the hole in the center of the cover was made large enough to allow the 7.92mm projectile to pass through without interference). The cheap rubber one would have little effect if a rifle was fired with it still in place, and readily replaced if lost or destroyed. It is not unusual to find covers in the patch compartment of RG34 kits...a handy place to store one or more of the them. Lastly, the original pattern had three raised nibs around the perimeter, and a later one did not.
The hole in the metal muzzle covers was smaller than the bore diameter otherwise it would not work very well as a cleaning rod guide. A bullet will not pass thru it.