For anyone stumbling upon this. A simple workaround is to '#include <utility>' before '#include <boost/asio.hpp>'
utility is the header that declares std::exchange this does not look like a C++20 problem but a simple missing include in the boost headers. Maybe this is actually worth a small patch in debian, since its such a simple problem to avoid. And I don't think an added include <utility> would break anything(?). best regards Andre