You are going to need to use Originate, as you cannot run Dial on a channel that has been hung up (not even from the h extension). Also this Dial is trying to connect the caller to themselves, which is not what I think you want to achieve.
Also, h extensions are not supposed to be long running, and you may get warning messages ab out being unable to complete the technology specific shutdown on the original call, and you may get messages referring to having an owner in place. You should put any delay in the originate, which will generally mean using a local channel as the A leg, and putting the wait in that.
I’d actually suggest using call files, as Originate only makes one attempt.
Something similar to this, but normally without the incoming call ever being answered, is a fairly common request, so Google might even provide a worked example.