The D90 doesn't have real - high quality hardware volume control what is required on their level. I as an audio equipment developer know that well. Every standard and simple digital volume control (what is in the D90 too) has many many problems which are degrading the sound quality.
In the past I used relay switched resistor ladder for attenuation in the analogue path - this was the only one method (for me) which supplied the required high quality. Since the LeedH Processing was released and licenced/enabled in the Lumin streamers I'm using this with almost the same results - skipped the full pre-amp section (incl. extra XLR cables, etc).
The SMSL M500 and the Topping D90 MQA uses same USB hardware interface (XMOS XU216) - So I guess there's a firmware problem in the Topping side.
The volume control of LeedH Processing with MQA working well with the SMSL M500. (one of my favorite album from Tidal playing in 352kHz with any volume setting with the M500, while the D90 plays same tracks in 44.1kHz only)