Sorry about this. That post is old and the arguments have changed.
Try this instead
fit2 <- euler(c(A = 16971, B = 218, C = 215,
"A&B" = 112, "A&C" = 112, "B&C"= 51,"A&B&C" = 23))
plot(fit2,
fills = c("dodgerblue4", "darkgoldenrod1", "cornsilk4"),
edges = FALSE,
fontsize = 8,
quantities = list(fontsize = 8))

Since you are in R, consider using the UpsetR library. It doesn't make Venn diagrams but it helps to visualize overlaps between any number of groups.
http://gehlenborglab.org/research/projects/upsetr/#:~:text=UpSetR%20is%20an%20R%20package,based%20on%20groupings%20and%20queries.
You might consider different ways of using the venneuler package. I'm not super thrilled with its usability (or with the accuracy of the overlaps), but you can get it to make custom Venn diagrams.
Here is a thread with some suggestions along these lines.
Below is some sample R code that I slightly modified from an old project that I used to make a 3-category Venn diagram.
I didn't run this to make sure that it works because of an irritating Java dependency issue on my OSX laptop that I don't feel like fixing right now, but as long as you have a JDK on your machine and can install the packages it should work.
# note irritating rJava dependency of venneuler
library(plotrix)
library(venneuler)
#A-B sharing: 200414
#B-C sharing: 17561
#A-C sharing: 16764
#All share 14201
# get coordinates for circles- replace as needed
# this function is supposed to plot stuff, but doesn't actually
ven = venneuler(c(C=48147-17561-16764+14201,
B=347181-17561-200414+14201,
A=325971-200414-16764+14201,
"C&B"=17561, "B&A"=200414, "C&A"=16764, "A&B&C"=14201))
cats = c('A','B','C')
# note- this following only shows up in the .pdf printer, not in the X11 utility plotter
pdf('venn.pdf')
plot(c(-.5,1.5), c(-.5,1.5), type='n', xaxt='n', yaxt='n', bty='n', xlab='', ylab='')
draw.circle(ven$center[1,1], ven$center[1,2], ven$diameters[1],
col = hsv(1,1,1,.5))
draw.circle(ven$center[2,1], ven$center[2,2], ven$diameters[2],
col = hsv(.5,1,1,.5))
draw.circle(ven$center[3,1], ven$center[3,2], ven$diameters[3],
col = hsv(.1,1,1,.5))
text(ven$center[1,1]+.065, ven$center[1,2], labels=cats[3], cex=1.3)
text(ven$center[2,1], ven$center[2,2]-.2, labels=cats[2], cex=1.3)
text(ven$center[3,1], ven$center[3,2]+.2, labels=cats[1], cex=1.3)
dev.off()
Regarding how to fix the issue, it depends on the level of precission you want. From the nVenn algorithm, I authored the nVennR package to create quasi-proportional Euler diagrams. With the caveats mentioned in the link, you can represent larger numbers of sets and show the relative size of each region. In your example,
library(nVennR)
myV <- createVennObj(nSets = 4, sNames = c('A', 'B', 'C', 'D'), sSizes = c(0, 26, 53, 7, 22, 5, 16, 3, 54, 10, 29, 4, 20, 5, 14, 3))
myV <- plotVenn(nVennObj = myV)
And the result would be:

Depending on your requirements, this may not be satisfactory. The proportionality is in the area of the circles, not the regions (you can see that the region 1, 2, 3, 4 - A&B&C&D - has empty space. However, this strategy overcomes the limitations of regular shapes in these representations mentioned by Johan Larsson. If you are interested, there are more details in the vignette.
The reason why some areas are left out is simple: the diagram is inexact and is missing some areas. There is no place to put the label for B&C so that's why B and C are missing 2 units. There likely isn't any way (or at least eulerr cannot find it) to perfectly represent your combination with an Euler diagram using ellipses. You either have to accept that it is inexact or try another solution.
Similarly, the residual plot cannot show the missing residuals graphically because there is no area representing them. I am, by the way, the author of this package and I do have something better in mind for the residual plot which would display missing areas as well, but I haven't had time to implement it yet.

