Add_surface produced different results from persp3d and persp

Not sure what’s going on, but I got different results between add_surface and persp3d/persp.
Any help is appreciated!

kd <- with(MASS::geyser, MASS::kde2d(duration, waiting, n = 50))
plot_ly(x = kd$x, y = kd$y, z = kd$z) %>% add_surface()
persp3d(x = kd$x, y = kd$y, z = kd$z, col=“yellow3”)
persp(x = kd$x, y = kd$y, z = kd$z, col=“yellow3”, ticktype = “detailed”, phi=15, theta=45)