I fixed it using this code:
add_filter( 'woocommerce_order_amount_shipping_total', 'shipping_total_convert_zero_to_int' );
function shipping_total_convert_zero_to_int( $value ) {
if($value === '0.00') {
$value = 0;
}
return $value;
}
add_filter( 'woocommerce_cart_shipping_method_full_label', 'remove_local_pickup_free_label', 10, 2 );
function remove_local_pickup_free_label($full_label, $method){
return $method->label;
}
It removes the cost from the checkout page, order-received page and e-mails.