I'd say they aren't Church numerals, but they are Peano numbers, of which Church numerals could be considered a special case. Peano numbers are representing natural numbers as "a number is either zero or the successor of a number".
(Note: The precise term "Peano number" seems to be a Haskellism; I didn't find a clearly standard academic term.)
Church numerals are functions, and in this system zero is not a function even at the type level. Here, we are working within a system that has equality of structures, and writing "zero" and "successor" directly in that system. It's the type-level analogue of the straightforward algebraic data type:
#[derive(Copy, Clone, Eq, PartialEq)]
pub enum Number {
Zero,
Successor(Box<Number>),
}
You can give this an "apply" method to get Church numeral behavior, but it doesn't naturally have one.