Start off with a full pull of the charging handle, and make sure that the face of the bolt stops 1/8"~1/4" in front of the back edge of the ejection port.
If bolt is flush with back edge of ejection port, or behind it, something is off with the receiver extension (such as not threaded enough into the receiver to just kiss the center pin of the buffer retainer when locked down), or buffer it too short instead.
If receiver extension is installed correctly/buffer and spring the correct length, the pull the buffer and spring, and drop quarters down the tube as end spacers, until you do have the bolt stopping at the correct distance in front of the back edge of buffer port.
Next with bolt in hand, hook a spent case on the extractor, and cam the ejector into it bolt face channel a few times to make sure that the ejector pin is not binding in the bolt face channel, and has good spring pressure to it.
We can get into extractor clean up, as well as if the extractor spring is shite and such, but for now, pull the extractor and install a #60 O ring around the extractor spring, and reinstall the extractor.
Last one where, make sure to clean the chamber with CLP and a chamber brush, get the bore and chamber dry, and then not only give the rest of the rifle a good CLP cleaning, but once that fouled CLP is removed, that the upper bearing areas of the rifle a giving a good CLP lubing as well.
Hence can't tell if the spent case is being dropped by the bolt (extractor) on pull and the reason that is not pivoting off the bolt face at rear stall cleanly out the ejector port, or if the problem is the spent case is still intake to the back of stroke stall, but the bolt face is retracting back past the back edge of ejection window, and when its trying to pivot off the bolt at rear stall, tagging the ejection port back edge isntead.