This documentation details the structure of Kusto Query Language (KQL) transformations within Azure Monitor Data Collection Rules (DCRs) and explicitly mentions the limitations of supported KQL functions.
as you can see not all the KQL functions are supported for DCRs
While they might not be as direct as replace_string or replace_regex, you may be able to achieve similar results with functions like substring, parse, split, etc.
maybe something like that
source
| extend messageParsed = strcat("[", substring(Message, 0, indexof(Message, "}{") + 1), "},{", substring(Message, indexof(Message, "}{") + 2), "]")
| project TimeGenerated, messageParsed, Type