I am in the exact same position as you. And i was exploring the option of doing it myself. Called the Immigration hotline, was told I cannot change from Non-b to retirement extension of stay. The officer told me to go and get a letter from my embassy saying that I cannot return to my home country and get a covid extension instead.
Rather than running the risk of not getting my reason for extension changed and extended, I opt for the agent route.
my current immigration is outside of Bangkok. If I want to do my extension in Bangkok, can I change my TM31 to Bangkok first and then apply in OSOS immigration office?
Thanks for the advice. If my work permit is issued via BOI, can I change the reason at the immigration centre in Chamchuri Square? Rather do it there than the province I am in.