Hi Erik, using a custom date is done via `org-overriding-default-time' (within a let construct) instead of (org-capture-put :default-time date).
Yes, the details are obscure and we need to better document this. Let us know if you achieve something, -- Bastien