We expect too much from these 7135 chips. They are pretty impressive for what they do, very convenient and cheap.
High frequency PWM is not their thing though.
Most firmwares use a PWM frequency of around 7-9 kHz for Moon mode, BLF A6 included.
At 8 kHz, a PWM duty cycle of 1/255 gives us an ‘on’ pulse that is only about 0.5 microseconds long. But the 7135s need about 2 microseconds before they start to turn on and another 4 microseconds before they are stable. In those 6 microseconds the response is like an under-damped control system. We have a transient ‘on’ peak, then it cuts back and then finally stabilizes where it is supposed to be. What we see with the 8 kHz PWM Moon mode is just the transient peak at 2 us. The timing and amplitude of this peak probably depends on the exact sample of 7135, cell voltage, the emitter, wire/track lengths, etc.
The ones I measured were groups of 6 or 8 from standard 105C/D drivers. Some types may be better, some may be worse and individual samples of the same type probably vary as well.
The only way I see to get somewhat repeatable output from different sets of hardware is to slow the PWM. A lot. The smallest pulse width needs to be at least a few microseconds more than the 6 microseconds stabilization time. Lets say 2 microseconds more. So we start with a minimum pulse width of 8 microseconds. (Conservative design would select an order of magnitude larger, we do not have that luxury here.)
If we want to get this 2us margin at a PWM duty cycle of 1/255, it translates to a PWM frequency of 500 Hz (1/(8us * 255)).
Or, we can decide to not use a duty cycle lower than 4/255, then we can get away with a PWM frequency of around 2 kHz (4/(8us * 255)).
If we apply this rule to 8 kHz PWM we are stuck with a minimum duty cycle of 16/255.
Most people will, however, object to the lower PWM frequencies. We also do not get a very low Moon mode.
In the end proper current regulation is really the way to go, not PWM.
Example 7.2 kHz PWM, 32/255 duty cycle. Even at 32/255 about a third of the ‘on’ time is wasted/unstable:
Now, if we cut back to 4/255 duty cycle, all we are left with is part of the unstable transient peak: