

For a while I daily drove a Purism Librem 14 with Debian’s fully free kernel, and installed as few non-free packages as possible, including firmware blobs (which I didn’t install any of until I decided I needed Bluetooth). My experience with gaming was generally fine.
With linux-libre you really have to buy your hardware specifically with support in mind. You’re limited to Intel and non-bleeding-edge AMD graphics cards, a very small range of wifi cards, and no Bluetooth. Otherwise, video games should work as well as they would on any other computers with the same specs. Especially if you’re also limiting yourself to games with free engines - I’m not aware of a single libre game that demands more than a modern Intel integrated graphics card can provide, even on high settings.
I’d say they all offer different types of customization. It’s less a matter of how much you can do, and more a matter of what you want to do and how much time you’re willing to spend working on it. KDE is for people who want to customize their desktop, and want it to be easy to do so. GNOME is for people who just want something that works, but it still offers a lot of customization, it’s just not as well-supported (their philosophy is “if theming breaks an app, it’s not our fault”).
KDE doesn’t support full CSS customization on its own, but there are theming engines like Kvantum and QtCurve that address the limitations that arise from this. I’d say it’s on almost equal footing with GNOME in that regard, since both GTK4+libadwaita and Qt6+KF6 are designed for color scheme customization, but require various workarounds and obscure settings for anything more than that. If anything the workarounds are easier in KDE.
Similarly, KDE supports layout customization through widgets and graphical menus. GNOME also supports layout customization, but through extensions instead.
And then you can do all of the above and more if you use a window manager, or an LXDE/LXQt-style desktop that lets you disable or replace all its components in settings - just mix and match components like panels, file managers, display managers, polkit agents, etc. You can basically build your own DE that way, and it doesn’t get much more customizable than that. But maybe you don’t want to spend your time choosing every component of your custom DE. That’s what something like KDE is for.