Had a similar issue on my first bike. When tried starting it was backfiring. Everything was good, spark plug i replaced before i even put the motor on the bike. I tested everything, ignition, carb and even took apart the entire motor to re-seal it with RTV and replaced crank seals. After a lot of work it still didnt run like it should. I took the carb apart again and replaced the needle, float arm and the float itself since i had a spare. After that it ran until about 1000km. Now i got a windowed piston on it with G2 reed and a PWK carb (even with a 105 jet that is way too rich for me it still runs better then it did with the BoFeng).
Check if the needle is sealing and your float height (on my other bike that still has a BoFeng i put the float height at about 17.5mm)