Is it the case that someone who contributes to a project licensed under this licence is automatically assigning copyright to the copyright holder listed in the project licence?
No. Unless arrangements are made to the contrary, you retain the copyright to any contributions you make to any free software project (or any other project, or anything else, for that matter). There are exceptions, in many jurisdictions, for work done during the course of employment, but the breadth of this exception varies by jurisdiction, and you didn't ask about that, so let's not complicate matters.
Custom and practice has it that contributions to free projects are made under the licence that governs distribution of the project. In the case of *GPL code, this is made explicit by the licence: having acquired a copy of the code in order to modify it, your subsequent redistribution of a derivative work thereof, can only be lawfully done under the GPL (see eg GPLv3 s2). So GPL projects are on clear ground in this respect from minute one.
Should this be augmented by a contributor agreement?
Permissively-licenced projects are slightly more tricky than *GPL projects, because despite custom-and-practice it's legally possible for a contributor to turn round later and claim they never intended to licence their contribution under, eg, 2BSD. This isn't common behaviour, but one good use of a Contributor Licensing Agreement (CLA) is to make sure that all contributions are unambiguously licensed.
Projects with no single licence governing all their parts would also be well-advised to use a CLA to clarify the licence status of contributions.
Other than that, CLAs tend to raise hackles somewhat, since one of their common uses is to enable later closure of the code into a non-free, revenue-generating version.