В моём случае достаточно было изменить параметр Letter spacing на 20% в слое Pass Mask, чтобы покрыть большую часть кейсов. Да, остаются краевые состояния при использовании множества слишком широких или узких символов, но пока это нерешённая задача. Pass Mask Wrapper нужен, чтобы отрезать лишние символы в Pass Mask, используя Clip content. Сам текст маски содержит столько маскирующих символов, сколько требуется для максимального размера поля, и выставлен в Fill.