Let's think this through logically, and use the following concrete example to demonstrate:
library(ggplot2)
df <- data.frame(label = c("A", "B", "C", "D"),
value = c(3, 1, 2, 5))
p <- ggplot(df, aes(label, value))
To make this fully reproducible, let us specify a drawing window size of 4 inches by 4 inches:
x11(width = 4, height = 4)
p + geom_col(width = 0.5, color = "black")

If we decrease the spacing between the bars but keep the bars themselves the same width, then it follows necessarily that the distance between the left edge of the leftmost bar and the right edge of the rightmost bar must get smaller. The most common way to achieve this would be to increase the width of the bars but shrink the plotting window by the same amount.
If we increase the bar size from 1/2 to 2/3 and decrease the plot width to 3 inches, the bar width will be exactly the same number of pixels wide but the spacing between them will be smaller:
x11(width = 3, height = 4)
p + geom_col(width = 2/3, color = "black")

You will notice that the plot is narrower, but that is going to be true however you achieve this.
You could instead keep the plot window the same size but increase the spacing on either side of the plot:
x11(width = 4, height = 4)
p + geom_col(width = 0.75, color = "black") +
scale_x_discrete(expand = c(1, 0))

Or specify a co-ordinate ratio instead of changing your plot window size:
p + geom_col(width = 2/3, color = "black") +
coord_fixed(1.2)

Or add large margins to the plot instead:
p + geom_col(width = 2/3, color = "black") +
theme(plot.margin = margin(10, 50, 10, 50))

But all of these methods involve essentially the same thing: if you want the bars to be closer together but the bars to remain the same size, you have to make the plot narrower. The answer in the linked question does point this out, and I don't think it is unsatisfactory - it is a geometric necessity.