It’s buggy code, and unfortunately the template variable replacement code is repeated, with variations, in the several places where emails get sent. So sometimes one of them won’t do as much as the others (things like fetching from related modules, or custom fields).
I began doing fixes for this and ended up creating a whole new system (PowerReplacer).
If you are a PHP developer I can try helping you find the code where that is done. but if you’re not, you will have to use an add-on or find a workaround (like a Workflow to copy the field value into a non-custom field).