I’m wondering if the original discharge was for any actual misconduct, or because his attitude and speech about the highly controversial Vietnam war had changed and been noticed while he was still in service.
However else you might feel about Kerry, the Vietnam War involves as many complex responses as does current feeling about the unfunded Iraq War which was based on what we were told about WMDs.
Meeting with the enemy while he was still in the Nazy would certainly be sufficient actual misconduct.