solo una suposición al mirar el código, pero ¿quizás sea porque estás usando topic_id en lugar de post_id? porque la primera publicación es el tema en Discourse, ¿más o menos?
Un tema se define por atributos como título, categoría, etiquetas, etc.
Pero el contenido pertenece a una publicación.
Si quieres actualizar el título y el contenido, necesitas 2 solicitudes.
PUT en el tema
PUT en la primera publicación. Puedes encontrar el ID de la publicación en el código HTML de la página. Busca el atributo data-post-id en <article>.
Ejemplo: