Oi Marcelo,
O Scrum não proíbe que o Scrum Master exerça também o papel de Desenvolvedor. E realmente essa prática é feita em diversas empresas.
O ideal seria evitar essa prática pelos seguintes motivos:
O SM deveria estar focado no processo
Principalmente nas primeiras Sprints, quando ainda não se sabe como o processo de trabalho vai fluir, quais serão as dificuldades e problemas que vão aparecer e como lidar com elas. Por isso a necessidade de atuação maior do SM para entender quais técnicas, ferramentas e abordagens utilizar para moldar um processo adequado para o time, de acordo com as políticas e restrições da organização.
O SM deve cuidar dos impedimentos
Alguns impedimentos que o SM precisar resolver podem ser complexos e demandar bastante tempo durante a Sprint, fazendo com que sobre pouco ou nenhum tempo para atuar como Dev.
Mas, caso não tenha jeito e o Scrum Master precise ser também um Desenvolvedor do time, algumas dicas:
Evite que o SM seja um Dev Sênior ou o lider técnico
Como podem existir impedimentos que tomem bastante tempo do SM, o time vai ficar desfalcado sem um dos Dev`s, ainda mais se for alguém de nível técnico alto. Isso pode até impactar no cumprimento da meta da Sprint.
SM que é também Dev não deveria pontuar no Planning
Já que não há garantias que ele vai atuar a maior parte do tempo da Sprint como Dev, não seria justo ele pontuar o esforço durante o Planning.
Priorizar atividades de SM
Lembre-se que um time Scrum tem apenas um SM, portanto se surgir alguma tarefa que seja específica de SM, ele deve priorizá-lo em relação às atividades de Dev.
Acredito também que depois de um certo tempo(umas 6 Sprints...) o time já estará mais "estável", precisando cada vez menos do SM, e com isso ele possa começar a ter mais disponiblidade para atuar como Dev.
Enfim, esse é um assunto complicado e que gera várias discussões.
Espero que tenha te ajudado :)
Bons estudos!