Вы можете добиться аналогичного поведения с любым текстовым полем (или maskedTextBox с пустой маской), используя событие _Leave.
private void maskedTextBox1_Leave(object sender, EventArgs e)
{
var text = maskedTextBox1.Text;
maskedTextBox1.Text = new string('*', text.Length - 4) + text.Substring(text.Length - 4);
}