In order to match (query) XYZ1* to (document) XYZ123 you do not need WordDelimiterFilterFactory. You need an tokenizer that recognizes XYZ123 as one token. And WhitespaceTokenizer is one of them.
As I see from the fieldType named text_ws, you want to use WhitespaceTokenizerFactory and there is no LowercaseFilter in it. So there is no problem. Just remove the WordDelimiterFilterFactory (both query and index) and it should work. Ahmet