It's OK, attenuator behavior: S-meter values and audio level have program compensation when you use the attenuator because signal level on the antenna input is always the same and doesn't depend on the attenuator level.
With this solution, a user doesn't need to calculate real values on his own, every time when the -20 dB attenuator is used.
Also, he doesn't need to adjust AF or RF level every time when the -20 dB attenuator is used, like in most classic transceivers.
Attenuator influences only receiving dynamic range, S-meter and audio level stay the same.
If you disconnect antenna you can see how receivers noises are changing when you switch the ATT.
Receiver's noise level is lower when you choose ATT 0 dB, it means that RX sensitivity is higher, but RX noise level is higher when you use ATT -20 dB, it means that RX sensitivity is worse.
It is done in a hardware.
A good SDR receiver will display the input signal applied to the antenna socket.
The received signal from the antenna does not change if a preamplifier or an attenuator is switched on or off in the receiver path.
(As long as the receiver gain is not too low)
From a technical point of view, it is absolutely correct, if the S-meter display is not affected by the receiver settings.
In analog transceivers this was not the case, because you could not correct the S-meter by internal firmware.
In that sense, the older transceivers have displayed incorrectly.
When changing to a modern SDR device, you have to get used to something.
But after a while you learn to appreciate this property.