To make matters worse, GTK4 "tightens up" some interfaces, making it harder to extend. So, for example, you can no longer "wrap" a native window handle on X11 with a GdkWindow (an interface that also no longer exists, in favor of a Wayland-centric GdkSurface interface) in order to integrate something "foreign" into the toolkit. They've also removed things like GtkSocket & GtkPlug, so you can't do cross-process embedding anymore[1].
I think it's fair to say, though that GTK4+libadwaita is "the GNOME toolkit", and GTK4 alone is just a much less capable, less extensible, less "batteries included" toolkit than GTK3, and GTK5 will drive even further in that direction, if GTK4's deprecation list is any indication.
[0] Full disclosure: I'm an Xfce developer, and have been disappointed with the direction GTK has been taking for some time. I don't begrudge them their prerogative to do what they need/want to achieve their own goals with the toolkit they've built and maintain. But it really is making life more difficult for me.
[1] Part of the argument is that Wayland doesn't natively support things like cross-process embedding, so a cross-platform toolkit shouldn't have these types of widgets (the classic problem of only being able to support the lowest common denominator). But a) you can absolutely build something like that for Wayland (something I've been working on, though it requires tens of thousands of lines of code to do), and b) with other changes, it's incredibly difficult and possibly impossible to even implement the XEMBED protocol on GTK4, for people who do only care about X11.