I sort of agree, but I also wonder to what degree random deviation plays into it. I think in the heat of an engagement people don't realize that the bullets don't always go where the reticle is. The longer you fire the farther away from the reticle they go. It might not be as noticeable in CQC but you get into medium range and long range and it starts impacting TTK. This was the case in older BFs. You can control this by not moving when shooting and either crouching or going prone.
Another element is the lag smoothing. I messed about by adding various amounts of delay to my connection and found that if I play with as an ideal connection as possible then other players see me before their player model is shown to me but the hit boxes are still where the player model should be so I have to lead my bullets considerably even at small distances. I literally have to shoot where the guy isn't. This is hard to notice in the moment but could also lead to the sense that it takes too long to down an enemy.
But after dialing it in I found that about 30-40 extra ms of ping is the sweet spot for having enemies' models be where their hitbox are. And now every engagement doesn't start with them already shooting me, I can actually catch some people mid sprint.
I understand why they need to have random deviation in a game like Battlefield. So there is some survivability in more open areas and ever weapon doesn't just become a sniper but they should probably communicate this better. Maybe even have more ammo in a magazine by default too.