Ho dovuto provare molte alternative diverse, ma questa ha funzionato:
headers=headers, data={'params': '{\\\"topic_id\\\": \"398\"}'})```
Quindi, la risposta è una combinazione di quel post precedente (che diceva che devi fare l'escape delle virgolette quando invii da una macchina Windows e del post di Arkshine che dice che deve essere passato come dati e non come argomento params. Quello che trovo strano, però, è che pensavo che l'intero scopo dell'argomento params nel modulo requests di Python fosse passare informazioni sui parametri.