If you change to non b,as a volunteer then I believe your son would change to non o, as family dependent. I would wait for a more experienced response.
I encountered this chain of events personally. I obtained a visa via Lao but after getting the work permit and extension I changed schools. I changed my work permit but foolishly believed my visa was still valid for 4 months. Upon attempting to renew my visa siracha immigration advised that my visa has expired when I left my previous job. My visa was cancelled immediately and kicked out of Thailand and requested a 20,000 overstay payment. This was a few years ago now.
It's unusual but I have seen it happen that the work permit and visa are not synced to the same date. Technically when you contract ends with the school they cancel the work permit which then invalidates your visa effectively canceling it.