In general, OP, I think wedding etiquette has massively changed/and is still changing over the last generation - and the issue of who pays and who controls (esp ito the guest list) is in a bit of a state of flux. When my parents got married, they paid nothing and had pretty much no control over the guest list - my dad talks about the people he met for the first time at his wedding. I got married 15 years ago, and we paid nearly everything, and expected to control the wedding list. We invited a couple of my PIL's friends, I know ... I actually can't remember about my parents! We got married in the local church, so mum had free reign to invite anyone and everyone to the church (& did!) but I certainly can't imagine we would have invited more than maybe a couple of their friends to the reception. Because numbers were limited, and my priorities were family; my friends; and only then parents friends, tbh.
BUT I think in your situation, where you've given so generously and asked for just one couple to attend, if I was your child I would want to do everything I could to accommodate you. And I think it's a particular shame that you thought you had agreed this and your ds is now backing out - very embarrassing! Tbh, if it's a Scottish castle scenario, your ds and his fiancé may find that they get a few no-thank-yous ... maybe have another chat and ask if there's any chance that your friends could be first in the 'waiting list' in that instance...?
I also think you need to sit on have a firm discussion with your partner - if you are just going to make up any old shortfall, I'd be pretty nervous.You've been more than generous, enough is enough. Make sure your son knows what the upper limit is, and stick to it!