Depende del contexto, pero generalmente sí.
cola.front() devuelve una referencia al primer elemento. Como es un T&, elemento va a llamar al constructor por referencia T::T(&). O si elemento ya fue creado antes, al asignación operator=(T&)
Si la clase T tiene sólo elementos trivialmente copiables (enteros, bools y esas cosas), el operador copia es igual al de movimiento y no pasa nada. Si la clase T tiene elementos más complejos (strings, vectores y otros recursos que usen memoria dinámica), el movimiento les ahorra reservar recursos para la copia.
Pero el compilador suele ser muy inteligente y no hay que descartar la posibilidad de que optimice esa copia por un movimiento si es posible.
Recordar que el operador movimiento por default aplica movimiento a todos sus atributos.