It might be worth while to raise an issue at https://github.com/joan2937/pigpio/issues
pigpio should automatically recognise the GPIO available on each Pi model. It seems to be failing to recognise your model.
In the mean time I suggest you start the pigpio daemon with the -x -1 option.
See pigpio daemon options.
E.g. from the command line
sudo pigpiod -x -...
This turned out to be an issue with the way PWM was interfacing with the Texas Instruments TPS61165 LED driver which made it switch control modes to EasyScale. As Joan kindly pointed out, increasing the PWM frequency to 1m stopped this from happening and provided reliable dimming.
I am not sure what you are doing.
These are my results.
>>> pi.hardware_PWM(18, 10000, 7733);pi.get_PWM_dutycycle(18)
>>> pi.hardware_PWM(18, 10000, 72733);pi.get_PWM_dutycycle(18)
>>> pi.hardware_PWM(18, 10000, 73);pi.get_PWM_dutycycle(18)
The dtb fragment is irrelevant to pigpio. It makes no use of the fragment.
With pigpio you can use any expansion header GPIO to generate flicker free PWM suitable for LEDs. You can easily check by using the pigs utility from the command line.
e.g. for GPIO 18 use e.g. pigs p 18 x, for GPIO 5 use pigs p 5 x etc. Where x is 0 for off, 255 for fully on, and ...