Modify WooCommerce backorder message

Solution:

I think you need to filter the woocommerce_get_availability_text. Add this to your theme’s functions.php or to a site-specific “snippets” plugin.

function so_42345940_backorder_message( $text, $product ){
    if ( $product->managing_stock() && $product->is_on_backorder( 1 ) ) {
        $text = __( 'Please allow 2 – 4 weeks for delivery of this item', 'your-textdomain' );
    }
    return $text;
}
add_filter( 'woocommerce_get_availability_text', 'so_42345940_backorder_message', 10, 2 );