You have to pay attention to spaces
Select[NetExtract[lm, {"Output", "Labels"}], StringContainsQ["hitman", IgnoreCase -> True]]
(* {" Whitman", " Hitman"} *)
The vocabulary token is " Hitman"
with capital H and a space at the beginning. In the GPT tokenization the space is important as it allows to distinguish between at token at the beginning of a word from a token in the middle or at the end.
You can see that is string correspond to a single token:
NetExtract[lm, "Input"][" Hitman"]
(* {49990} *)