Такого метода вроде нет в публичном доступе (но есть в исходниках), а вообще совершенно верно — при вызове JsonObject.toString и складывании его в другой JsonObject, toString последнего должен правильно его заэскейпить
Вы спросили, как идиоматично — на мой взгляд, идиоматично не делать экстеншн на nullable там, где safe call на месте вызова справится. Дальше сами решайте, конечно :)