Actually, a better way to write the workaround is:
select test.intField * cast(?1 as BigDecimal)
which is in essence the same as the “new syntax” I’ve been toying with.