Have you tried this?
E.g. the paypal button function name is woo_custom_paypal_button
.
Then add action like this into your function.php
or specific plugin:
add_action( 'woocommerce_checkout_before_customer_details', 'woo_custom_paypal_button' );
Or if there’s something that’s already displayed there, and you might want to remove it, first find the function name and then try like this:
remove_action( 'woocommerce_checkout_before_customer_details', 'woo_function_to_remove' );
add_action( 'woocommerce_checkout_before_customer_details', 'woo_custom_paypal_button');
Update
I tried this code and worked in my case:
add_action( 'wp_loaded', 'x_relocate_paypal_button' );
function x_relocate_paypal_button() {
$cls = new WC_Gateway_PPEC_With_SPB;
add_action( 'woocommerce_checkout_before_customer_details', array( $cls, 'display_paypal_button' ), 20 );
}
Just replace the woocommerce_checkout_before_customer_details
hook to relocate to another position.
You can find more visual hook guide on checkout page on this article.