Relating Integration by Substitution to Change of Variables Theorem

I'm having trouble relating the change of variables theorem from measure theory to the integration by substitution formula taught in Calculus. I've always thought they were basically saying the same thing, but I can't quite see it. Below I assume everything that needs to be integrable is integrable.

Change of Variables Theorem: (Wiki) Let $(X_1, \Sigma_1, \mu)$ be a measure space and $(X_2, \Sigma_2)$ be a measurable space. Let $f: X_1 \to X_2$ be measurable and let $f_*[\mu]$ be the pushforward measure on $X_2$. Finally let $g$ be a measurable function on $X_2$. Then $$\int_{X_1} g \circ f \, \mathrm{d}\mu = \int_{X_2} g \, \mathrm{d}(f_*[\mu]).$$

Integration by substitution: (Wiki) Let $f: [a,b] \to I$ be continuously differentiable for some interval $I \subset \mathbb{R}$ and let $g: I \to \mathbb{R}$ be continuous. Then $$\int_a^b (g \circ f)(t) \cdot f^\prime(t) \, \mathrm{d}t = \int_{f(a)}^{f(b)} g(x) \, \mathrm{d} x.$$

My attempt at relating the two, starting from change of variables theorem:

Let $(X_1, \Sigma_1) = ([a,b], \mathcal{B}([a,b]))$ and $(X_2, \Sigma_2) = (I, \mathcal{B}(I))$. Let $f$ be continuously differentiable and increasing and let $\mu = \mu_f$ be the Lebesgue-Stieltjes measure for $f$ on $[a,b]$. Then $f^\prime = \frac{\mathrm{d} \mu_f}{\mathrm{d} \lambda_1}$, the Radon-Nikodym derivative of $\mu_f$ w.r.t. the Lebesgue measure $\lambda_1$ on $[a,b]$. Finally, the pushforward measure $f_*[\mu_f] = \lambda_2$, the Lebesgue measure on $I$. Hence \begin{align*} \int_a^b (g \circ f)(t) \cdot f^\prime(t) \, \mathrm{d}t & = \int_{[a,b]} (g \circ f) \cdot f^\prime \, \mathrm{d}\lambda_1 \\ & = \int_{[a,b]} g \circ f \, \mathrm{d} \mu_f \\ & = \int_I g \, \mathrm{d} (f_*[\mu_f]) \\ & = \int_I g \, \mathrm{d} \lambda_2 \\ & = \int_{f(a)}^{f(b)} g(x) \, \mathrm{d} x. \end{align*} The first line is because $(g \circ f) \cdot f^\prime$ is continuous and so the Riemann and Lebesgue integrals coincide, the second is because $f^\prime = \frac{\mathrm{d} \mu_f}{\mathrm{d} \lambda_1}$, the third is the change of variables theorem, the fourth is because $f_*[\mu_f] = \lambda_2$, and the last line is again because $g$ is continuous and so the Riemann and Lebesgue integrals coincide.

So assuming the above is correct, I can relate the two for monotone increasing $f$, but not for more general continuous $f$. How can I show this?

Using the identity (or defintion)$$\int_b^af(x)dx=-\int_a^bf(x)dx,$$you can use your argument to prove the theorem for monotone decreasing $f$. Then, given a general (continuously differentiable) $f$, divide your segment to smaller segments on which $f$ is monotone.
Note that segments on which $f$ is constant have $0$ contribution to your integral.
{"ft_lang_label":"__label__en","ft_lang_prob":0.794894,"math_prob":0.9999883,"size":2377,"snap":"2019-26-2019-30","text_gpt3_token_len":806,"char_repetition_ratio":0.14285715,"word_repetition_ratio":0.08791209,"special_character_ratio":0.35002103,"punctuation_ratio":0.13118279,"nsfw_num_words":0,"has_unicode_error":false,"math_prob_llama3":1.0000057,"pos_list":[0],"im_url_duplicate_count":[null],"WARC_HEADER":"{\"WARC-Type\":\"response\",\"WARC-Date\":\"2019-06-19T18:54:53Z\",\"WARC-Record-ID\":\"<urn:uuid:e07a6688-2a31-49ce-aebb-9f09e3c717f7>\",\"Content-Length\":\"137272\",\"Content-Type\":\"application/http; msgtype=response\",\"WARC-Warcinfo-ID\":\"<urn:uuid:74e1fea9-1cc3-4bbd-b814-b02e0815753d>\",\"WARC-Concurrent-To\":\"<urn:uuid:062d944f-be62-4c24-a576-8a459b806b33>\",\"WARC-IP-Address\":\"151.101.65.69\",\"WARC-Target-URI\":\"https://math.stackexchange.com/questions/1371304/relating-integration-by-substitution-to-change-of-variables-theorem\",\"WARC-Payload-Digest\":\"sha1:GZYCUNM6VIDRKS7ODWEK35CRUZXGSW6K\",\"WARC-Block-Digest\":\"sha1:RY2SEWFIFCVHKKI5S2LPPVYW4QWZH7AF\",\"WARC-Identified-Payload-Type\":\"text/html\",\"warc_filename\":\"/cc_download/warc_2019/CC-MAIN-2019-26/CC-MAIN-2019-26_segments_1560627999040.56_warc_CC-MAIN-20190619184037-20190619210037-00184.warc.gz\"}"}