My car is a Corolla too, but earlier model, early 90’s. On mine the starter motor only has two places to connect wires to. One gets a big thick wire that comes directly from the battery +. That one has a bolt & nut connection. That’s the battery positive input to the starter motor. It always measure battery voltage, whether the engine is cranking or not even turned on. During cranking the voltage is less b/c the battery voltage is less. Like you say, a good battery measures around 11-11.5 volts during cranking. The other is a push-in connection with a small wire. That’s the “start” input to the starter motor. Both must measure at least 10.5 volts between the respective terminal and the starter case during attempting cranking.
There’s a third connection to the starter motor for ground, but that isn’t done using a wire. It is done by bolting the starter motor case to the engine. The starter motor case is connected to the starter motor ground internally. Likewise the engine is connected to the battery ground with a wire. That’s the reason you test the voltage between the terminal and the starter case in the tests above. From your posts above, I don’t see that you’ve actually done either of those two tests yet.
When you measure voltage, you always measure between two points in the circuit. The + input to the volt meter touches one point, and the - input to the meter touches the other. So for the first test above the + input to the meter would touch the bolt&nut connection (the + battery input) and the - input to the meter would touch the starter motor case.
From what I can infer, your problem appears to be the “start” input to the starter motor is much too low, 0.9 volts. It should measure as stated above, 10.5 volts (measuring terminal to case) or above during attempted cranking (key in start).
For what it’s worth, I’ve had this same problem on my own Corolla. When tested, mine measured about 3.5 volts. I can’t speak to your model-year, you’d have to find a wiring schematic for your car, but on mine the circuit starts at the battery, goes through a fuse, then through the ignition switch, then through a small under-dash “starter” relay controlled by the clutch safety switch, then to the starter motor “start” terminal via the small wire. I found the problem to be in the ignition switch and the clutch safety switch. Both had too high of resistance. There’s a lot of current in the “start” circuit too, around 15-20 amps, so the resistances along the entire circuit path have to be very low.
What I did to fix it was to bypass the clutch safety switch to verify that was the problem, and install another relay into the circuit so the ignition switch didn’t have to handle so much current. I could have alternately just replaced the ignition switch. In any event, with those fixes, the “start” terminal now measures about 11 volts during attempted cranking. And it cranks fine.
If you are only measuring 0.9 volts at the “start” terminal during attempted cranking, it’s usually of no use spending time replacing starter motors. The problem is most often the circuit before the starter motor. There’s a small possibility the starter motor coil is shorted out and this would cause the same symptom. There’s a spec for the coil resistance so that’s how to disprove that possibility, which doesn’t require remove the starter motor. Best of luck.