Either the foam or stuffing is great. The foam requires some exact measurements. I have gotten some pillows to be super firm by using stuffing, but it has always taken more than I thought. Just keep on adding it (and get it well into the corners) until it is the firmness you want.
There's all different types of density foam you can buy online at any upholstery store. Fabric stores might also carry them but the selection may be limited. You can also ask a local seamstress for advice or someone at a sewing/fabric store can advise you. Google "Upholstery Foam" I recommend getting a dense, firm foam because they're more comfortable and last longer.