I should point out that this was, implicitly, a two-part questions. Part
one was about the primitives, part two is how to execute:
\tlp_gset:Nx \g_siunitx_tmpa_tlp {\etex_scantokens:D {#1}}
while _ is active (and I guess ideally : is "other"). In my current setup,
I only have to worry about @, which I just accept will be a letter. But I
have to have _ active.
--
Joseph Wright