Agile teams are cross functional, meaning both testers and developers will be one team.
It is well known fact that independent testers often create more defects than testers who are embedded in Agile teams. In Agile teams sometimes developers may also create automated tests. Hence, the testers loose independence and may risk objective evaluation of the defects.
In teams where they have full independence, assigning testers on-demand may be helpful sometimes during the final days of the sprint. This really make testers independent and become objective. However, there could be several factors that can impact the testing.
One more option is to have an separate independent test team where testers are allocated to Agile teams for long term. But we may have to reverse some of the Agile basics and go back to waterfall and implement waterfall under Agile umbrella. Agile teams are small, stable, develop long term relationships between them for the purpose carrying test activities and developing automated test tools.