Obstacle Bounceback "Stealing" Mass

I’ve been implementing obstacles in/near flow like the backward facing step or stair-step approximated cylinder. I’ve noticed that when I add these features, and they make up more of the domain, the mass imbalance becomes larger to a degree not explainable by numerical error induced by flow complexity.

The algorithm I utilize is as basic as it gets:

for nodes flagged as “solid”:

f_new[i]=f_old_postcollision[opposite[i]]

So basically just reversing the distributions constantly to generate 0 velocity.

I am thinking perhaps I am causing a problem because the solid is reversed, when in fact it is the first fluid node that needs reversal for the halfway-bounceback interpretation. But, if I go with a subroutine i created to search and implement based on location and normal direciton, I am losing much of the simplicity and computational efficiency of the bounceback ideals.