05AB1E, 27 27 26 (or 2423) bytes
Ç<°íJΔ•6o₁EAÛr£ð•3B2¡ι`Ç<°JΔ•6o₁EAÛr£ð•3B2¡ι`:}õQ Port of AndrovT's top Vyxal answer, which in turn is a port of @Neil's Retina answer, which in turn is inspired by AndrovT's bottom Vyxal answer. 😅
-1 byte thanks to @Neil.
Try it onlineTry it online or verify all test casesverify all test cases.
Try it onlineTry it online or verify all test casesverify all test cases with the last three bytes removed.
Ç # Convert the (implicit) input-string to a list of codepoint integers < # Decrease each by 1 ° # Take 10 to the power each í # Reverse each inner integer J # Join them together Δ :} # Keep doing the following replacements as long as it's possible: •6o₁EAÛr£ð• # Push compressed integer 110798340583714652624 3B # Convert it to base-3: 1000100012010102101012000100010002000022112 2¡ # Split it on 2s: [100010001,"01010",10101,"00010001000","0000","",11,""] ι # Uninterleave it into 2 parts: [[100010001,10101,"0000",11],["01010","00010001000","",""]] ` # Pop and push both lists separately to the stack } # After the changes loop: õQ # Check if what remains is an empty string # (after which the result is output implicitly)