register_meta with show_in_rest, or the block cannot read it

Post meta is invisible to the block editor unless it is registered with a type and exposed to the REST API.

register_post_meta( 'product', 'turkerdev_sku', array(
    'type'              => 'string',
    'single'            => true,
    'show_in_rest'      => true,
    'sanitize_callback' => 'sanitize_text_field',
    'auth_callback'     => function (): bool {
        return current_user_can( 'edit_posts' );
    },
) );

show_in_rest makes it readable and writable by anybody who can edit the post, which is why auth_callback is not optional — the default permits any user who can edit the post to write any registered meta. For an array or object value, show_in_rest must be an array containing a schema rather than true, and passing true produces a silent failure where the meta simply does not appear. That asymmetry is the source of most of the confusion.