It actually happens with all odd numbers that don’t happen to divide 10 (which is where the base10 things comes up). But I think that it’s a matter of the origin of the 0.9999… I don’t think that 3/3 is ever actually 0.9999… but rather is just a “graphical glitch” of base 10 math. It doesn’t happen in base12 with 1/3, but 1/7 still does.
I do accept that we can just presume 0.999… can just be assumed 1 due to how common 3*(1/3) is. But I do think it throws a wrench in other parts of math if we assume it’s universally true. Just like in programming languages… primarily float math that these types of issues crop up a lot, we don’t just assume that the 3.999999… is accurate, but rather that it intended 4 from the get-go, primarily because of the limits of the space we put the number in. I have no reason to believe that this isn’t the case for our base10 numbering systems either.