Philipp Stephani writes:

 > - \c_job_name_tl contains the token \tex_jobname:D, not the job name

??? you are sure?

it is defined as

\tl_set:Nx \c_job_name_tl { \tex_jobname:D }

which gives you the jobname  in \c_job_name_tl and not  \tex_jobname:D 

at least if you load expl3.sty. Not sure what happens if you attempt to
generate a format including expl3, for that situation we may have to set the
constant later.