I think you can simplify this and use:

wh_json:map(fun({K, V}) -> {K, wh_json:set_value(<<"id">>, Id, V) end, ListJObj)

See if that works for you.