is this good? according to Palmer's efficiency calculations it's not. 28pts x 3.25G / 4.625 lbs of grain = 19. Palmer says shoot for 27-30. Below 25 is poor.
Rule out simple things first. Make sure you're crushing well and that your instruments are calibrated. With this being a mini-mash, my next suggestion would be to evaluate your sparging technique. Make sure that whatever you're doing is getting all the sparge liquor in complete contact with all the grains.
The next thing too look at would be pH. With this mash having a large amount of dark roasted malt, if you used really low-alkalinity water you could have pulled the mash pH down far enough out of range that 60 min wasn't enough time for full conversion. Do you know your water chemistry? Did you check the mash pH?
Munich will convert itself. Dark Munich will just convert itself. If you didn't dilute the enzymes too much, you should be OK. The iodine test says you are on your way.
I agree that this particular mash was probably fine, but you need to be careful about generalizing when it comes to Munich malts. Light Munich can be as low as 60-80 L, and Dark Munich much lower. In that case 2 lb of Munich wouldn't necessarily convert 2.5 lb of other malts - at least not quickly.
As Denny mentioned, an iodine test isn't necessarily easy to perform and interpret.