Sortable column (by numbers) in admin users

Is there something that I’m missing

Yes, you need to actually add the function which will do the sorting based on your usercoins “sort by” value (that you set in your yoursite_manage_users_custom_column_sortable() function).

So you would hook your function on users_list_table_query_args, then change the args so that the users are being sorted by the usercoins meta value (which is a number, hence I used 'type' => 'NUMERIC'), like so:

add_filter( 'users_list_table_query_args', 'yoursite_users_list_table_query_args' );
function yoursite_users_list_table_query_args( $args ) {
    if ( is_admin() && 'usercoins' === $args['orderby'] ) {
        /* These also work, but to include users who do NOT have the usercoins meta,
         * you should instead use the meta_query arg below:
        $args['meta_key'] = 'usercoins';
        $args['orderby']  = 'meta_value_num';
         */

        $meta_query   = isset( $args['meta_query'] ) ? (array) $args['meta_query'] : [];
        $meta_query[] = array(
            'relation'      => 'OR',
            'has_usercoins' => array(
                'key'  => 'usercoins',
                'type' => 'NUMERIC',
            ),
            'no_usercoins'  => array(
                'key'     => 'usercoins',
                'compare' => 'NOT EXISTS',
            ),
        );

        $args['meta_query'] = $meta_query;
        $args['orderby']    = 'has_usercoins';
    }

    return $args;
}

See https://developer.wordpress.org/reference/classes/wp_user_query/prepare_query/ for the full list of arguments you can set or change in the $args array above.