When using command /attribute ... get <scale> or /attribute ... base get <scale>, the output is wrong on screen when a scale is added. If you use execute store, a correct number can be stored in a scoreboard after scaled, but we cannot see the correct scaled value in the chat box.
In the following example, the command executed is
/execute store result score @s 3 run attribute @s generic.attack_damage base get 3
My base attribute of damage is 1.
We can see a correct value "3" is stored on the scoreboard, but in the chat it says "1".
Which is different when using the scale features of /data
can confirm in 1.21