You can try these troubleshooting steps for default backend not working in GKE Ingress setup:
Since your configuration seems fine. You might have to check the logs of Ingress controller to confirm that the request is received by the controller and rerouting the traffic to the default backend.
You can get the logs from the GKE Ingress controller with:
$kubectl logs -n kube-system -l app=gke-ingress
You need to check the health check logs as well, follow this document to enable the health check logging and check the state of your health check by using this document as reference.
Check this official gcp health check troubleshooting document to troubleshoot your health check
Note: Sometimes there may be issues with the GKE ingress controller not properly syncing with the Google Cloud load balancer or health checks. Try deleting and recreating the Ingress resource and the associated services.
Delete the Ingress:
kubectl delete ingress ydt-ingress -n ydt
Reapply the Ingress configuration:
kubectl apply -f your-ingress-config.yaml