Ya había hecho eso y el punto final de la API de eliminación es el que he estado utilizando, el mismo para ambas acciones (solo eliminar y eliminar y bloquear). La única diferencia radica en los parámetros que se utilizan con él (block_ip, block_email, …), que mencioné anteriormente.
Creo que finalmente entendí cuál era el problema con mis solicitudes: la API de Discourse espera las cadenas ‘true’ y ‘false’ en lugar de valores truthy/falsy. Fue mi culpa no haber notado esa indicación en la documentación.
Eso probablemente fue lo que causó todo este lío.