Yes, and being incompatible with GPLv3-or-later may be done on purpose to push folks into a commercial license.

GPLv3-or-later is currently almost the same as GPLv3-only at the moment given there is no GPLv4.

The reason why it's not possible to include GPLv3-only code in a GPLv3-or-later codebase is that the latter is more permissive, allowing the FSF to release an updated version of the GPL.

They won't make GPLv4 any less copyleft and more permissive than GPLv3, if they ever do make one. At worst, the GPLv4 will cause some commercial user of the code to be even more inconvenienced.