So... this will sound pretty silly, but I think the solution is to simply swap these lines:
$TextureProgress.max_value = Globals.coins_max
$TextureProgress.value = Globals.coins
What's happening (I think) is that because you set your value before you set your new max value, it instead gets set to the previous max (e.g., 100).
Thus when you set your new max, what's displayed is only a fraction of the total.
Hope it helps!