I really can not tell how deep the damage is. You said it does not go through? If that is the case the foam is probably compressed which means if you fill it, it could push back up and leave a bump in the heat.
I had to repair a section on my battery box where my chickens pecked through the foam before I got it covered with canvas. I did not want to use that much filler so I took a steak knife and cut out a square that included most of the damage. I then put another piece of foam behind the cut out and traced the cutout onto the other piece of foam. I then cut out the new piece and glued it into the hole with caulk.
I think you could do the same thing and then before gluing it in place lay up the canvas on the foam repair panel before installing. Size the canvas out from the sides a inch or so, so that the canvas is larger than the repair panel. So now you should have a repair panel with canvas attached with the canvas sized a inch or so past the the panels edges. Now you can lay the repair panel into place without glue so that the overlaping canvas is now laying on top of the existing canvas. Now you can take a exacto/utility blade and cut through both layers of canvas, the overlaping sized repair panel canvas and the existing canvas around the damage area. The cut will now be exactly the same. Pull out the repair panel and pull off the canvas up to the cut line. It should pull off fairly easy. Now you can install the repair piece with caulk or Gorilla Glue Construction Adhesive, be sure to apply TBII to the canvas area your new panel is replacing. Make sure you got a good amount of TBII alone the cut line where the canvas comes together. The TBII should give you a good bond along the cut line. I think this should give a pretty seamless repair that would be very hard to see once a new coat of paint was applied.
Just some thoughs. Hope it helps.