Hello Jason,
Thank you very much for the detailed post information.
Please be advised that having the custom css in those places has a purpose. One of those is the usability of your code.
1.) If your custom css code is reusable then it is a good idea to place the code in Pro>Theme Options>CSS section. One example could be:
.equal-column-heights{
// some styling here
}
This block, when applied the custom class, will have the column heights equal. You can always reuse the code by applying the custom css to your row or section. This method will add code bloat because of the code being loaded in the page even if the code is not applicable or have not been applied within the page.
2.) For pro>content>{page}>css, this will only apply if your custom css code will only be applied or specific to that page. This is very helpful for fast loading the page since the code will be specific to the page and will not be adding as code bloat to your site.
3.) The inline element css works the same as #2 only less likely organized and more often difficult to manage. If you only have a few styling then this method is viable. If you have several elements to customize, then it is best that you add it in #2 instead. It is much easier when it is added in one place so that you can easily edit/adjust or troubleshoot when something goes wrong with your code.
Hope this helps.