How to use custom fields to enable sticky posts on custom post types?

You can achieve this with ACF.

Create a custom field checkbox (just a simple boolean) for your custom post type.
Below an example of overriding the main loop in archive template :

function order_cpt_by_stickyness( $query ) {
    if(!is_admin() && $query->is_main_query() && is_post_type_archive('my_custom_postype')) {
        $query->set( 'meta_key', 'my_sticky_custom_field');
        $query->set( 'orderby', ['meta_value' => 'DESC', 'date' => 'DESC']);
    }
}
add_filter( 'pre_get_posts', 'order_cpt_by_stickyness' );