h extensions are part of the core dialplan handling. They run after the technology driver for the channel hs been shut down and therefore cannot do anything with that the technology driver such as bridging it to another channel. They can basically only manipulate CDRs and channel variables, or perform operations on explicitly named channels, and use Originate to create and start dialplan on new channels.
They cannot use DIal, Bridge, Queue, SendDTMF, Playback, Playtones, or anything else which will result in signalling or media on the channel on which they are running, as that channel is no longer (for h extension processing) live for such operations, or, as I’m speculating, if Asterisk now has the ability to run dialplan, at startup, without specifying a destination for the channel, never had and never will have the ability to perform signalling or media transfers.
I am relying entirely on what you have written to infer that Asterisk now has the ability to run dialplan without requesting a technology specific channel. Your understanding of Asterisk may actually be more flawed than I am assuming.
If I wanted to do what you are doing on the versions of Asterisk with which I am familiar, I would have the startup shell script place a call file in the call file directory, specifying the console channel as the channel and the conference as the application to run, or an extension that enters the channel that is already up when it starts into the conference.
Can I also just repeat that Dial will not return (with default options) until the dialed channel has hungup.