At most, you need 2 road sections for 4 SoKs. That's 18 squares total,
Problem with your math at 18 squares is it misses the bigger picture. Chances are a city only using two road squares per four SoKs is a far worse city design than a city using double the roads for the SoKs
You'd likely be wanting to use 20 squares total OR 24 if the other side of the road is a entirely different building. In which case it's not any less efficient to use 24 instead of 20. 20 assumes only SoKs taking up both sides of the road. 24 assumes there's other buildings in addition to the SoKs sharing that same road. Usually to simplify things and account for roads people calculate the size of building plus a road running along the shortest side.
The alternative would be to calculate the shortest side divided by two, then take that answer and add it onto the building size. Which could potentially be more accurate depending on what you're trying to calculate. The more I think about it, it would likely give a more accurate calculation for figuring out building efficiency as that then accounts for the road being shared between buildings
Anyway, back to this point I was making:
Chances are a city only using two road squares per four SoKs is a far worse city design than a city using double the roads for the SoKs
And here's why:
The only way you could possibly connect 4 SoKs with 2 roads is by ending your road connection on double SoKs. Otherwise you'd get anything from 3-8 road pieces (if running along one side, 8 road pieces would mean some other building is on the other side)
Only utilising two road pieces per 4 SoKs inherently introduces gaps into your design. It's be more efficient to place them like this:
Or like this:
Not only would it eliminate gaps at the end of roads, but it reduces the roads needed overall by letting your largest buildings only require one road piece