I think we need to split between solver and assembler.
From an assembly point of view: assemble_matrix does account for the “curvature” of the cell, in the sense that the Jacobian is non-constant on the manifold in the case of a second order mesh.
This has for instance been shown in:
If SLEPc handles it or not, I do not know (or if there is something missing from the variational form). This is outside my area of expertise.