I haven't dove in PR but that's my impression also. Fajardo seems like an option, it's an hour west and the boats go out into the Spanish Virgin Islands nearby. I did find this once but I don't know anything about them.
Scuba Diving Puerto Rico's Caribbean with Sea Ventures Dive Centers - Fajardo & Palmas del Mar in Humacao, Puerto Rico The best diving from what I understand is all the way on the East Coast - not counting Mona Island which used to be via liveaboard.
If you want to drive somewhere, it's 4 hours to the Fling. They do 2 day trips just about every weekend. Flower Garden Banks NMS is excellent diving.
Fling Charters
All the diving that's mentioned in South Florida except for the Keys is centered between West Palm and Ft. Lauderdale. Jupiter, Boynton Beach, Hollywood, the Blue Heron Bridge for shore dives etc. There's also multiple other shore dives just off the beach.
Even the Keys from MIA isn't too far to drive - about 90+ mins depending on MIA traffic. A lot of the operators are in the Key Largo area around MM100 - there's two hotels there - a Marriott and a Holiday Inn at the marina. About 1/2 dozen shops keep boats there. Key West is a lot farther.
Quickest still has to be Cozumel though.
If you wanted to chance a connection Nassau (NAS) is just under 5 hrs. also. Problem is they're either thru ATL or MIA - not sure which is worse...About $550 - use the Matrix then when you get results shorten the Duration sliders to see only the under 6 hr. total time flights. That includes any layovers.
Find a place on Cable Beach or Paradise Island (besides Atlanti$) and Stuart Cove's will pick you up for diving. Or Bahama Divers will also - they're closer but do one less dive per day - 3 vs. 4. It's all boat diving there. There's some affordable hotels in the Cable Beach area - decent enough for a long weekend. A cab from the airport isn't cheap but you probably wouldn't need a car - there's several shuttles that run between both resort areas and downtown hourly.