Aha! So, this is the real answer! Grdgradient cannot cast shadows.
That’s what Paul told me four years ago after asking if GMT can cast shadows:
The simple answer is no.
I agree with you John that this should be documented in a clearer way. I’ll put another issue on GitHub and work on this myself.