Customize control does not show value of setting which was added via JS API

The field is empty because when you create it in JS you are not providing it a value as the second parameter when constructing the Setting. You’d have to obtain it with a REST API call presumably here.

Take this example from the Customize Comments plugin:

setting = new api.Setting( customizeId, comment.content.raw, {
    transport: 'postMessage'
} );
api.add( setting );

You can see in the plugin how it is fetching comments from the REST API.

But why use a dynamic setting here? This seems like it should be registered statically since it appears to be a one off.