I have the following problem:
minimize $f(xy) = x^2 + y^2$ subject to $h(x,y) = y^2 - (x-1)^3 \leq 0$
To solve it I set up the Lagrangian:
$$L = x^2 + y^2 - \lambda((x-1)^3-y^2)$$
And obtain the following FOCs:
$$ 2x - 3\lambda(x-1)^2 = 0 $$ $$ 2y + 2\lambda y = 0 $$
And complementary slackness conditions: $\lambda \leq 0$, $\lambda(y^2 - (x-1)^3) = 0$
Then if the constraint binds, $y^2 = (x-1)^3$, and from the FOCs:
$$2y(1 + \lambda) = 0 \rightarrow y = 0 \; \vee \; \lambda = -1 $$
If $\lambda = -1$, then from the FOC $2x + 3(x-1)^2 = 0$ and we obtain a complex solution. I am unsure how to proceed in this case, is there some restriction on the solutions such that we have to be restricted to real valued solutions?. Assuming that this is the case, then since we consider the case in which $\lambda \neq -1 $, it must be that $y=0$. From the constraint it follows that $x=1$, which contradicts the first FOC ($2x - 3 \lambda(x-1)^2 = 0 \rightarrow 2 = 0$).
I know that the global maximum is at (x,y) = (1,0) but as you can clearly see I cannot obtain this. Moreover, I cannot obtain any particular value for $\lambda$ at this point since from the FOCs this is not defined. It seems to me that $\lambda$ is arbitrary, with the only restriction that it is less or equal to zero, but this hardly sounds like a solid argument.
Any help would be greatly appreciated!

Your line of thought is correct. The problem is with KKT conditions themselves. A solution to the problem must satisfy the FOC and complementary slackness conditions you list in your question only if the problem satisfies some regularity conditions (there is a nice list at Wikipedia: https://en.wikipedia.org/wiki/Karush%E2%80%93Kuhn%E2%80%93Tucker_conditions).
In your case the constraint is non-convex, and its gradient is zero at the optimal point (1,0), which is why KKT misses this point. You should use some other method. In this case, from the look of the constraint you may deduce that the solution must definitely lie on the curve $y^2=(x-1)^3$, then you can substitute $y^2=(x-1)^3$ into your objective and minimize it over $[1,\infty)$.
Another option: your reasoning shows that there are no stationary points at which the gradient of the constraint is non-zero. And there is only one point at which the gradient of the constraint vanishes: $(1,0)$. So there are no other candidates left and you just have to show that it does indeed minimize the objective.