Why not just write v.emplace_back(1, 2); instead of what you currently have: v.emplace_back(std::make_pair(A(1), A(2))); ?
v.emplace_back(1, 2);
v.emplace_back(std::make_pair(A(1), A(2)));
Running this modified code, I get only:
1 created at 0x586bf7ac12b0 2 created at 0x586bf7ac12b4