Inline assembly with ITC or DTC isn't common because, unlike STC, you don't gain much. Using a headerless code definition followed by an ordinary colon definition is often more flexible anyway. Even with something like FIG-Forth, which wasn't designed to use headerless words, it's easy to write a defining word that defines a headerless primitive. Many would argue, however, that inline assembly is a sign that you need to factor your definition.
What about inline high level Forth? Here is an example from Fleet Forth, an ITC Forth. I made (ABORT") , the word compiled by ABORT" , a primitive that has inline high level Forth.
If there is an error, the speed penalty of the high level Forth in (ABORT") is not a problem since we're aborting anyway.
If the top of stack is zero, (ABORT") increments IP past the inline string and jumps to POP, getting it's job done fast.
Since (ABORT") starts as a CODE word and stays at low level if there is no error, it greatly reduces the speed penalty of error checking.
CODE HOLD ( C -- )
HOLD.BODY LATEST NAME> !
END-CODE
CODE C! ( C ADR -- )
C!.BODY LATEST NAME> !
END-CODE
CODE SIGN ( N -- )
1 ,X ASL ASCII - # LDA
0 ,X STA
' HOLD @ CS BRAN
POP JMP END-CODE
Although # is much larger, less memory is used for these words than if # , HOLD and SIGN were high level. A savings of a few bytes and a speed up from mixing low level code in a high level word.