How does math work in Anastasiya's world?
Dyalog APL, 33 32 30 29 bytes



This extends APL to include the prefix notation +/A n₁ n₂ and ×/A n₁ n₂. (In fact, you can use any operation to the left of the /A.) Returns a list of {result, repetition count}.

A←{(⊃,≢)⍺⍺{∪⍵,⍨⍺⍺⍎¨⍕⊃⍵}⍣≡⍺⍺⍵}



  A←{ define a higher-order function in terms of left-hand function ⍺⍺, and right-hand argument ⍵
  
  
    (⊃,≢) the first element of, followed by the count of
    
    ⍺⍺{ the supplied function (+/ for sum or ×/ for product) fed to the higher-order function
    
    
      ∪ the unique elements of
      
      ⍵,⍨ the argument appended to
      
      ⍺⍺ the fed function applied to
      
      ⍎¨ the evaluation of each character of
      
      ⍕ the character representation of
      
      ⊃⍵ the first element of the argument
    
    
    }⍣≡ applied repeatedly until the result is identical to the argument, beginning with
    
    ⍺⍺⍵ the originally fed function (+/ or ×/) applied to the original argument
  
  
  } [end of higher-order function definition]


TryAPL online! (⍎ has been emulated with e for security reasons.)

Thanks to @ngn for saving a byte.



0 bytes (in jest)

Dyalog APL actually already has full support for Anastasiyan math; instead of (+) and (×), it uses +{n←0⋄n,⍺⍺{n+←1⋄⍺⍺/⍎¨⍕⍵}⍣=⍵⍺⍺⍨⍺} and ×{n←0⋄n,⍺⍺{n+←1⋄⍺⍺/⍎¨⍕⍵}⍣=⍵⍺⍺⍨⍺}.

Try 81 +{(⊃,≢)⍺⍺{∪⍵,⍨⍺⍺e¨⍕⊃⍵}⍣≡⍺⍺/⍺⍵} 31 and 21 ×{n←0⋄n,⍺⍺{n+←1⋄⍺⍺/e¨⍕⍵}⍣=⍵⍺⍺⍨⍺} 111.