For release 13+, I have given some more thought to what should be done. I think the bar for altering the behaviour of a function should be rather higher than we have in the present case, and the longer the function has been sanctioned by time the higher the bar should be. However, I think there is a case to be made for providing a non-strict jsonb_set type function. To advance th4e discussion, attached is a POC patch that does that. This can also be done as an extension, meaning that users of back branches could deploy it immediately. I've tested this against release 12, but I think it could go probably all the way back to 9.5. The new function is named jsonb_ set_lax, but I'm open to bikeshedding.
I am sending a review of this patch
1. this patch does what was proposed and it is based on discussion.
2. there are not any problem with patching or compilation, all regress tests passed.