Actually, you can get thin magnet strips (with adhesive to make them easy to apply) that are fairly flexible and you could probably cover most of the foam with them, giving you the stick anywhere effect you were after.
Velcro won't hold up to heavy play-- it will snag your fabric and over time the velcro hooks will get full of lint and not hook very well. When attaching velcro to fabric (as opposed to the velcro loop tape) you generally have to push pretty snuggly to get it to hold (probably not something a 1.5 year old can manage and might be more challenging than you'd think for a 5 year old-- given that the kids will want the puppet to really be able to move without noses, eyes and hair flying across the room. However, if you want to try, velcro will stick to most fleece (polar, anti-pill) and flannel. Terrycloth works a lot of the time as well. Go to a fabric store, take some velcro and go up and down the aisles and see what holds.