One of the main issues is that you have to use a UTM projection. Answers to this similar question offer a lot more detail. Here are two possible solutions to your issue based on these answers (including the use of a relevant UTM code):
Create a buffer of 0 units around regions
to remove the inner border
regions %>%
st_buffer(0) %>%
st_transform(crs='EPSG:32704') %>%
ggplot() +
geom_sf(fill = 'lightgrey', linewidth = 1)
Or you could use the ms_dissolve()
function from the rmapshaper
package
library(rmapshaper)
regions %>%
st_transform(crs='EPSG:32704') %>%
rmapshaper::ms_dissolve() %>%
ggplot() +
geom_sf(fill = 'lightgrey', linewidth = 1)
The second image looks more like what you are looking for. Keep in mind though that this solution uses UTM Zone 4. Most of the State of Hawaii is in this zone, but a majority of the Island of Hawaii (the easternmost island) is in UTM Zone 5.