Im not sure if this is a bug or if its somehow specified in r6rs.
Not a bug :) It is the way syntax-case (and library 'phasing') works.
You are trying to use a 'local' procedure during expansion time.
To make this work, you need to define a 'helper' library and import that.
Move GROUP, SPLIT-AT and T? to that library, and export what you need.
Just looking quickly, to export all from one library, you will need 2 additional libraries (one exporting DEF-SYNTAX, and the other the procedures).
It gets a bit long in the tooth though.
If you just want to use these procs at one place, then it would be better to define them there. Example
(define split-at ...)
(define group ...)
(syntax-case x () ...)))