[not really an answer yet, sorry]

I can reproduce the bug with dash 0.5.8 from debian 9.8 stretch.

The current dash code from [git.kernel.org](https://git.kernel.org/pub/scm/utils/dash/dash.git) doesn't show the bug.

Here is a simplified testcase:
trap '
        trap    - HUP EXIT || exit "$?"
        kill -s HUP    "$$" || exit "$?" ' HUP INT
kill -HUP $$
$ dash dash-bug
dash-bug: 3: /home2/ahq/dash-bug: Syntax error: EOF in backquote substitution
Modifying the length or content of the quoted code may either "fix" the bug or produce different and interesting corruptions, with random bytes appearing out of nowhere.

It remains to be seen if this severe heap corruption disappeared by accident in recent versions of dash (and it could be still triggered) or if it was properly fixed.