Forward ejection is caused by the following,
1. The buffer is not controlling the end of stroke (lack of rear dead blow effect/stall, and/or short stroking could be causing the problem if the buffer is a know working unit).
2. A sticky ejector that is not pivoting the spent case off the bolt at rearward stall.
3. A milling bur’d extractor that is digging into the case rim, and hindering the end of rearward stroke pivot of the spent case off the bolt.
Area’s to check,
Single round load the rifle from a mag, and check for short stroking (bolt locking back on the bolt catch after the round has fired).
Pull the ejector and the extractor to check for burs. On the extractor, check the claw and the rim relief areas. On the ejector, check the bolt channel, and confirm that the ejector is moving in/out of the bolt without binding.
As for the buffer just shake it. You should hear a clucking sound, and not the sound of BB’s rattling around.
Note: normal ejection distance of the spent brass should be around 15’. If the spent case contacts the deflector on the way out doesn’t mater, but you do want a rearward ejection path (unless you clipped the ejector spring to indeed get a forward ejection path).