Hi, so I played with this a bit and attached a patch to fix it by moving the wrapping with WRAP-FORM/LOOP-BODY-WRAPPERS one level down inside the variable declarations. Two test cases are included (one for IN-HASHTABLE, the other for IN-PACKAGE, which shares the behaviour).
Since no other parts of the code need the current behaviour of WRAP-FORM I just changed it instead of introducing another wrapper list like LOOP-BODY-INNER-WRAPPERS or so ...
Cheers, Olof