OMG. Hindsight is 20/20 but all this would have been avoided if he boarded a plane to the US, activated his visa, and returned right back on the next flight.
In any case, I successfully helped someone navigate the process of getting their immigrant visa reissued at the Accra Consulate who's visa expired and wasn't able to travel due covid shutdown restrictions. The consulate allowed them to re-do DS-260 and medicals and reissued the visa. Their original visa had expired for just a few months. Your son's visa has expired for 2+ years so that might be pushing it. However, the popular belief that an expired immigrant visa cannot be reissued is not necessarily true. Consulates at their discretion can choose to reissue on a case-by-case basis; it's not guaranteed. I think if you have a good reason they'll hear you out but I fear your particular reasons might not fly with them.
But I agree with you, you should first contact them before filing a new I130. Use this link to contact them. Good luck.
----
From the horse's own mouth:
https://travel.state.gov/content/travel/en/us-visas/immigrate/national-visa-center/immigrant-visas-processing-general-faqs.html#NQ
My immigrant visa expired before I was able to travel to the United States. What should I do?
You should contact the Immigrant Visa Unit of the U.S. Embassy or Consulate that issued your visa. You do not need to file a new petition with USCIS, but you may need to submit a new application (DS-260) and pay another immigrant visa application processing fee. In addition, you may need to submit new supporting documents, such as a new medical examination and police certificate. Please be prepared to return your unused, expired visa and visa package (if applicable). Requests to reissue or replace visas are considered on a case-by-case basis, and all applicants are required to re-establish their eligibility; there is no guarantee that you will receive a new visa.