The Navy apparently had better things to do than shell the island with the requested time of naval gunfire and the Marines landed under punishing fire.
Not true. The Navy blasted the island for 3 days prior to the invasion. And by then, both the Navy and Marines knew that that mattered little. Most of the islands that were taken were so riddled with caves that they could have shelled them for months, and it would have done little damage.
And they did not land under "punishing fire". General Tadamichi Kuribayashi had already read reports of earlier landings like Tarawa, and knew that concentrating on defending the beaches themselves were foolish. His tactic was to have his forces wait inland, and was so effective that it was then repeated by the Japanese for the rest of the war. Place most of the defenses inland and out of direct sight from the water. That way they could not be brought under direct fire by the ships. It was brutal because the Marines had to dig each and every one of them out by hand, with little to no help available from the Navy because they could not see them.
And a lot of that was not only to preserve their own forces and only put up defenses once the enemy was concentrated, but as psychological as they would get cocky, then become demoralized when they finally did start to fire. Watch almost any recreation of Iwo Jima, there was no fire when they landed.
It was not like D-Day at all.
Or like Tarawa, which was a brutal and bloody battle. But once the Marines broke the defenses at the shore, there was little left after that. It lasted only 3 days, but 99% of the Japanese were killed in those three days (over half at the beach itself on the first day - only 17 survived of the garrison of over 4,700). The Japanese learned that was not effective, so pretty much stopped fighting at the beaches. And each battle afterwards they staged their forces farther and farther back from the beach.
On Okinawa, there was no real resistance until almost a week into the battle. The Japanese pretty much let them capture their main objectives, and had most of their forces concentrated in the center of the island where they could attack north or south as they wished. Because they knew they essentially cut the island in half, preventing the two forces from linking up.
The Japanese pretty much let them land unopposed, the resistance was when they started to push inland.