Is it possible to print the output of a Gunteberg block with no classes?

The code from the docs is JavaScript. You have to set up Webpack and build this type of JS. So, you could use something like Create-Guten-Block to set up that build process, and then replace the contents of “block.js” with that JS from the docs. (I sure wish they would improve the docs to make things like this clearer.)

Or, you could choose to filter with PHP, which instead of preventing the class from being added in the first place, processes the data saved in the database and could strip out the CSS class. (Then if you ever wanted to include the Core classes, you’d just remove your filter and they would all appear – because they’re all still saved in the database.) You would do something like

<?php
add_filter('render_block', function($block_content, $block) {
    // Only affect this specific block
    if('gutenberg-examples/example-03-editable-esnext' === $block['blockName']) {
        $block_content = str_replace('class="wp-block-gutenberg-examples-example-03-editable-esnext"', '', $block_content);
    }
    // Always return the content
    return $block_content;
}, 10, 2);
?>

inside a custom plugin or your custom/child theme’s functions.php file.

Or – you could always go back and edit the block itself, in which case again you would need to set up the build process. I’m a little confused that the save() function doesn’t actually refer to any className, but it looks like if you changed the edit() function so that it no longer had a className, that would likely remove the class.