If you don't want to do it yourself, an option would be to take it to an upholstery shop that does a lot of work on motorcycles and then let them modify and/or replace the stock foam and alter the stock or a replacement seat cover. If you can find another KDX seat pan in good shape, then have a second seat made up for your son.
The upholstery idea aside, it may be worth you trying to do it yourself or at least taking careful notes on what the upholstery shop would do because, in one ride, if your son takes a fall and tears that seat cover, your money just went into the garbage can and you may have to do it again.
Best,
Greg