For cancellation, it can be done at immigration division 1, doesn't take much time. For non-B, you will have to go out of the country and apply at a Thai embassy.
It's completely fine. You just need to cancel ur ED visa first (at the same immigration office u got that visa from) before leaving Thailand to apply DTV. Keep this in mind also, ur stay terminates the same day u cancel the visa so you will have to pay overstay fees of 500 bahts per day until you leave Thailand.
I suggest you just use the teaching profile as you can show your payslips up-to-date. A job newly started or assigned is a red flag for them. You can later change your profile to freelance when you need to extend the visa.