I would like to say, that we aim to not even use too much custom things in simple components (example of the modals index page, that passes just column names and an api path) - and to create and maintain a generic table for index pages (and maybe a generic show page component in later stages?
And for some REX pages, we had to create custom api endpoints, which I agree makes more sense.
We are now in the process of converting pf3 to pf5 so we can later convert them together to pf6.
We also are in the process of rewriting the Enzyme tests so we can upgrade to a newer React version.
I assume you ask if React is what we want, since we use Patternfly, the answer is probably yes, as PF supports React and HTML, and we already have React, and probably dont want to write all the JS that will be needed for the pure html version.
I generally agree and I think since we work very individually on the UI, its written in a less optimized way as we dont have many (or any?) discussions with as a group of people who write FE on how to approach tasks, and where can we do better. I try to update some of the dev/contribution docs to be more updated, but I cant assume they are read or understood, and we probably dont update them fast enough.
And for the API I would like to connect this maybe to this effort: Foreman REST API version 3 initial thoughts