I have honestly only every used Create-React-App once, and that was to deploy a demo to Zeit which automatically recognizes Create-React-App and automates building. Other than that I have always done Webpack from scratch, and initially that pretty much meant copying other peoples configs and accepting it as black magic. Once I realized that nothing Webpack does is actually dynamic things started making a lot more sense, and I now have and understanding of how Webpack and its Tappable based plugin system works, and am comfortable writing configs for both development and production.
Although for my client work I have been using Gatsby (mostly for the awesome built in image processing capabilities) I do have a Webpack example on Github that shows my level of comfort configuring Webpack. I wanted to see how I would setup Webpack for a server rendered environment, as well as how I would go about loading data server side when using something like Redux. What I ended up doing was using the Webpack NodeJS API in an express server to be able to compile on demand per request, and then by having access to an instance of the compiler and the stats that were generated by the compilation send the html with data, and the bundles needed for the initial request, that then get hydrated client side. It supports async CSS and JavaScript chunks, as well as maintains it hot module replacement in development. The app is very much still a skeleton, the purpose of this was just for me to find out how it would be done so I could apply it to a real project.