Thanks! That's actually good approach. I can create a Bash script that runs periodically via Cron, lists all the recordings and go thru them one by one and does the "sed'ing", and if the title changed during that, it will update that particular schedule title:
curl 'http://x.x.x.x:9981/tvheadend/api/idnode/save' \
-X POST \
-H 'Content-Type: application/x-www-form-urlencoded; charset=UTF-8' \
'node={
"enabled": true,
"disp_title": "UPDATED TITLE",
"disp_extratext": "Original description",
"channel": "xxx",
"start": 1757165700,
"stop": 1757167200,
"start_extra": 0,
"stop_extra": 0,
"pri": 6,
"config_name": "yyy",
"removal": 0,
"uuid": "zzz"
}'