Hi OP! Congratulations on the birth of your DS, and sorry to hear he arrived early. MY DD was born at 29 weeks, so I know it can be really tough feeding small, early, sleepy babies (she's still breastfed now, and it can definitely be done). It is indeed exhausting and stressful juggling all the feeding/expressing while coping with the worry of Is-He-Getting-Enough and the lack of sleep, so give yourself a massive pat on the back for getting this far!
I'm no expert, but to me your plan sounds fine, and it's great that your supply is good. It's great that he's feeding often. I'm not sure about the 20mins. I'd probably just see how long he actively feeds for on the breast (listen out for swallowing and watch jaw movement) and then top-up. It sounds like his weight is being checked regularly (also keep an eye on nappy output). You'll probably need to do that for a little while yet, as he's so young and as he's only just started gaining weight again. Are you being seen regularly by an HV?
One thing that worked for us was changing my DD in the middle of a feed. As soon as she started looking sleepy and stopped sucking, we'd change her nappy, and this would usually wake her up enough for her to feed some more (either breast or top-up, depending on how much she'd already fed). More usual tips are tickling their feet (firmly) or stroking their chin (again, fairly firmly) to wake them up, but that never worked for us, no matter how many healthcare bods told us to do it.
Also, my DD tended to feed much better during the day and took much smaller quantities at night, so we just went along with that. By about 40/41 weeks' gestation, feeds became MUCH easier.
If you haven't already done so, I'd also recommend posting on the Infant Feeding section, as there are lots of knowledgeable people there, and you might get more tips.