Looks like adding the field and doing a convert in single mutate is the problem. I found on this Convert String to float failed
where someone was having the same type of issue. Ended up breaking up into to mutates
mutate { add_field => { "Test1"=> "%{Test}" }}
mutate { convert => {"Test1"=> "float"} }
This should be fixed.
So the resulting calculation now is as expected
"Test1" => 5.34,
"foo" => 5340.0
}