It turns out that the answer was hiding in plain sight in The Force Awakens and it all has to do with shields.
“Their shields have a fractional refresh rate, keeps anything going slower than light speed from getting through.” – Han Solo in The Force Awakens
Han was making this statement about the shields on Starkiller Base, but the same appears to hold true for the shields of the Supremacy as well. In the Last Jedi, in order for Finn, Rose, and DJ to board the Supremacy, DJ has to do a bit of hacking to get them through the shield. So it would appear that as of the Sequel Trilogy the only way to get through shields, specifically First Order shields, is at light speed.
For light speed ramming this means that for Holdo to successfully ram her ship into the Supremacy she had to be going light speed when she hit the shield but then not enter hyperspace by the time she reached the Supremacy. Then the shrapnel from her collision was still going fast enough to get through the shields of the other ships but still didn’t enter hyperspace. Getting that jump exactly right likely involves some very tricky calculations, especially if the distance it takes a ship to jump to light speed or the distance between reaching light speed and entering hyperspace can’t be precisely determined (possibly due to space-time distortions needed to enter hyperspace). Getting anything about the jump even slightly off would have resulted in the Raddus crashing into the Supremacy’s shield which would obliterate the Raddus and do no harm to the Supremacy or the Raddus would enter hyperspace prior to making contact and no harm would be done to either ship. This would mean that what Holdo did wasn’t some brilliant military strategy but rather a desperate one in a million shot that just happened to pay off.
Shields through the Saga
Obviously the above explanation applies specifically to First Order shields. To explain why no one else had tried to ram another ship at lights peed prior to Holdo we need to take a look at how shields have functioned throughout the previous films.
This article would like to propose that shields in Star Wars behave similar to non-Newtonian fluids. When something strikes a shield at higher velocity it is deflected, but when something strikes a shield at a lower velocity it can get through unless a very strong shield is being employed. The only way to get through a shield at high speed is to be travelling faster than the speed of light. A clear example of slow moving objects being able to get through a shield is the droid army with the Gungan shield in the Phantom Menace.
The Gungans are described as having primitive technology so their shields are likely not the strongest in the galaxy even at the time. It would seem that even with primitive weaker shields the focus is on deterring faster objects while being weaker against slow moving objects. This was likely true of early shield designs as well.
Another example of something (relatively) slow getting through a deflector shield is when the Rebel fighters are able to pass through the deflector shields of the first Death Star at the Battle of Yavin. We know from Rogue One that the Empire had shields strong enough to prevent any ships from getting through even at low speed. This is why the portal has to be opened to allow the Rogue One shuttle to reach the surface.
At the first Death Star, the defenses were set up to ward off large scale attacks with the Imperials no doubt thinking that a large ship creeping through the shields slowly would give the Death Star plenty of time to blast them out of the sky. The ground facility on Scariff, however, doesn’t have such defenses. As a result the shield protecting Scariff was likely much stronger than the shield protecting the Death Star. (Galen Erso might have had a hand in this as well.) By the time of Return of the Jedi, the Empire had learned its lesson and employed a much stronger shield to protect the second Death Star. This is why Lando calls for all craft to pull up when he realizes the shield hasn’t been taken down yet.
Side note: There are a couple of other examples of ships in canon that appear to sneak past shields in another way. In the Phantom Menace, the Naboo starfighters have a difficult time getting through the shields of the Trade Federation command station, but Anakin is able to get through and blow it up from the inside. The explanation for this is that Anakin flies into the hanger. It’s likely that he flew in while the hanger entrance shields were down to launch more droid fighters. So Anakin getting through has to do with location and timing rather than the strength of the Trade Federation shields. Kylo appears to have employed a similar tactic when he blew up the Resistance fighters in the hangar of the Raddus by flying nearly into the hangar before firing. Another example is Han hiding the Falcon on the Star Destroyer in the Empire Strikes Back. Just prior to Han hiding on the Star Destroyer he made it look like he was trying to attack them first. Needa reacted by ordering the shields up. The next thing we see is the Falcon flying right past the window. It would seem that Han’s attack maneuver allowed him to get under the Star Destroyer’s shields before Needa ordered them put up. Given that Lando says in Return of the Jedi that he can’t get a reading on whether or not the Death Star’s shields are up, it would appear that the Falcon has some sort of sensor that detects when shields have been activated. So Han would have made his “attack” knowing that their shields were down which would allow him to get to the Star Destroyer’s blind spot where they could safely hide.
Star Destroyers, as of the Imperial era, are also susceptible to very low speed ramming attacks.
Hyperspace ramming was never a thing before Holdo because before the invention of shields it would have been completely unnecessary. Sub-light speed ramming would have been plenty effective. After the invention of shields it would be incredibly difficult to time the jump just right for it to work.
If everything goes perfectly the result is this
If you are off by even a little bit the result is this
Thus light speed ramming was a gamble that was seen as highly unlikely to pay off. Taking out the shield generators and staging a conventional attack or ramming at very slow speeds were seen as far superior tactics. By the time of the Sequel Trilogy, however, shield technology had advanced enough that low speed ramming wasn’t an option. Holdo also didn’t have time to try to take out the shield generators of the supremacy and then try to take the ship down by more conventional means so she did the only thing she could.
Why did no one ever try light speed ramming against an unshielded planet?
This is a problem that could potentially be resolved by tweaking a bit of existing canon. The reason why ships have to fly up into space prior to making the jump to hyperspace is because hyperspace jumps can’t be made within a planet’s gravity well. The canon novel Tarkin also reintroduced interdiction fields, artificial gravity wells capable of pulling ships out of hyperspace. The idea of ships not being able to jump to hyperspace and ships being pulled from hyperspace by gravity wells could be modified a bit to account for events in The Force Awakens and Rogue One.
Legends, and now canon, made it seems as though there was some well defined edge of a gravity well that once a ship passed within it hyperspace jumps were impossible. This could be modified with a bit of real world science. Gravitational force is inversely proportional to the squared distance between the two objects, so the gravitational force a planet exerts on a spaceship decreases exponentially with distance. Applying the idea of the effects of gravity decreasing exponentially with distance to hyperspace jumps it could be said that attempting to jump to or out of hyperspace on or very near the surface of a planet is impossible. At some point out in space away from the surface of the planet jumping in and out of hyperspace is perfectly safe. Between the two is a region where jumping in and out of hyperspace is technically possible, but dangerous with the level of danger decreasing exponentially the higher in altitude the ship in question is. Han is already taking a crazy risk trying to make a landing approach at light speed to get through Starkiller Base’s shields in the Force Awakens. He would obviously also be willing to take the risk of jumping into atmosphere given no other options. Also note that he’s approaching the planet tangentially not straight on. This is why they come out of light speed flying at the side of a mountain rather than straight at the ground. Plus Han is in the Falcon which has possibly the galaxy’s best navigational computer. He trusts the Falcon can make the jump. In Rogue One the U-Wing was about to be crushed under the upheaval of Jedha’s crust after the Death Star destroyed the Holy City in a test firing. They were willing to take the risk because they had no other choice.
With regard to light speed ramming, this rule would say that it would be impossible to ram something at light speed into the surface of a planet because the planet’s gravity well would prevent the ramming object from even beginning the jump close enough to the surface for the object to reach light speed just as it hits the surface without entering hyperspace.