Thanks @Caio Henrique Segawa Tonetti for sharing the approach used. One more point observed was to use casting to JSON when assigning parameter/previous activity output to dynamic mapping in copy data as below. It is to ensure that value is properly treated as JSON, please check if this helps in resolving using directly the API response in ADF.
@json(pipeline().parameters.testparam)