Accurate = close to intended.
Precise = same intensity when repeating same shot.
I suspect matrix metering is your first culprit.
Do you understand neutral grey and inverse square law?
Neutral grey is what the camera metering system expects. In flash photography, often significant areas of the image are much darker. To avoid overexposure of the foreground, you need to use minus correction on flash exposure compensation.
Inverse square law: the light intensity is reduced by the square of the distance. If you have a foreground at 1 m and a background at 2 m, The background is underexposed by factor of 4 = 2 f-stops.
These two elements need to be combined: estimate amount of fore or back ground, estimate how far background is separated from foreground then correct for neutral grey assumption of metering system.
If half is foreground and that foreground is more or less neutral grey, half is background at infinity distance (= pitch dark), adjust flash exposure compensation to -1. If NG area is 1/4 of frame, then use -1.5.
This is not perfect, but will get you 80-90% there, within +/- 0.5 f-stops. I assume you use on-camera flash.
If you want to be really precise, get an external flash meter, and use flash in manual mode. That is how I shoot LF flash (Sekonik 558L), with flash on PC sync cord.
Matrix metering uses a number of image elements, and depending exactly where which fore/back-ground element is positioned, and the weighting algorithm, you get different results. It aims to give decent results for "normal/typical" scenes, but is useless and temperamental when you do something a bit different. Can't stand it. It works ok-ish for daylight, because differences in illumination level for various elements is not too far off. But flash accentuates those brightness differences, hence, results tend to be disasters.
All the above is for 100% flash illumination. In mixed lighting or for fill flash it gets a bit more involved.