Não sei se você sabe, mas o jrxml, que é o “.java” dos relatórios jasper, é quem mantém todo o posicionamento de cada elemento.
A questão é que, você até pode inserir direto no jrxml, manualmente, novos elementos, incluindo uma detail band. O problema é que cada elemento tem todos os seus dados, incluindo posição horizontal e vertical e sua altura e largura estáticos. Por exemplo, se a detail 2 tem seu topo em 300 e dentro dela existe um text field com topo em 20, na realidade, ele está posicionado a 320 do topo. É esta a referência que ele utiliza.
Assim sendo, mudar os elementos de uma band implica em definir qual a nova posição em que eles serão inseridos.