How can you change the non-visual editor’s background color?

You need to target the #content selector, but within the scope of the page (the editor style loads inside the Tiny MCE iframe, which is why it won’t affect the non-visual editor).

You can either print the styles in the admin head, or use an external stylesheet:

function wpse_142641_text_editor_styles( $hook_suffix ) {
    if ( $hook_suffix === 'post.php' || $hook_suffix === 'post-new.php' ) {
        // Either enqueue external stylesheet
        // wp_enqueue_style( 'my-editor', get_template_directory_uri() . '/text-editor.css' );

        // OR print out to <head />
        echo '<style>
    #content {
        background-color: #000;
        color: #fff;
    }
</style>';
    }
}

add_action( 'admin_enqueue_scripts', 'wpse_142641_text_editor_styles' );