It looks like consistently moving the include of Pybind11 headers before QT Headers has fixed it.
However, this also goes for the full include tree. So if A includes B, and B includes Pybind, A should include B before including any QT Headers (QObject, QProcess, QVector, etc)