Found it: https://github.com/qt/qtbase/blob/5.12/src/corelib/global/qlogging.cpp
Specifically, I needed to set application name in QCoreApplication.
Just just launch your app from the console. qDebug, qWarning etc. will be printed to the console too (stdout/stderr). Make sure you don't define QT_NO_DEBUG_OUTPUT -- see http://doc.qt.io/qt-5/debug.html for more info.
Compiled and rebuilt with Qt5.5.0 (beta).
Interestingly, the warnings I received when running over VNC or when in high-dpi mode (QT_DEVICE_PIXEL_RATIO=2) no longer appear with Qt5.5.0. So, this is a definite improvement.
However, I still receive the 147 (Unknown) error on launch when running over X11 forwarding.
For future reference, the bug I logged was marked as a duplicate.
Here is the link to the original, QTBUG-43454.
Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.