I'm not especially familiar with GTK, but my understanding is that the xdg-desktop-portal dbus APIs were created to solve this problem.
GtkFileChooserNative was created as a replacement for GtkFileChooserDialog. When it detects that there is a native dialog provided (gtk, kde, wlroots) it will use it. My plan is to add a server implementation for cros FIlesApp. Hopefully linux apps which support xdg-desktop-portal will then use the native dialog, and I would also like a way for wine apps to do similar.