How do I add a class to Customizer preview based on class of Customizer control? (Customizer Javascript API)

Consider again how you want the control to work. If you hide the control, how would you unhide it?

It sounds like you want a checkbox, to indicate whether the section is displayed or hidden. In your PHP on the ‘customize_register’ action, you define the holder of the indicator. They’ve named this a setting, with the default value being ‘theme_mod’ type. And you define the control for the user to interact with. For boolean options, it is best to name them for the ‘on’ state, so the logic makes sense and they match core options.

$wp_customize->add_setting( 'show_about_section', array(
        'default'   => true,
        'transport' => 'postMessage',
        'sanitize_callback' => 'wp_validate_boolean',
) );

$wp_customize->add_control( 'show_about_section', array(
        'label'    => __( 'Display the About section', 'myprefix' ),
        'section'  => 'myprefix_theme_section',
        'type'     => 'checkbox',
) );

Assuming that the section is always output, we can just put a class on it to hide it. Your PHP will use that theme_mod where the About section is output:

$class="about_me";
if ( ! get_theme_mod( 'show_about_section', true ) ) {
    $class .= ' invisible';
}
// code to output section using $class on it

In the javascript that is loaded on ‘customize_preview_init’ action, use something like this.

( function( $ ) {
    wp.customize( 'show_about_section', function( value ) {
        value.bind( function( show ) {
            $( '.about_me' ).toggleClass( 'invisible', show );
        } );
    } );
} )( jQuery );

There is no need to send the class name to the preview, although you can code it differently if you need one control to handle multiple class names. The Customizer is already sending the value of the control to the preview, but in this code example, that is a boolean, not a class name.
There is no extra code needed to save the theme_mod. That is done for you.