I think you have als other bands in the product you write, right?
And probably one of them is still Float, or double.
In geotiff for all bands a single data type is used. And this is the one which covers the value range of all bands.
So either you need to split your product into single geotiff files or you need to convert als the other bands.
Mmmh…
What is the data format if you write to BEAM-DIMAP, just for testing?
And have you tried to specify int16 directly in the BandMaths operator as type for the target band?