However, from my quick glance I haven't been able to understand how he infers USD amounts from blockchain transactions.
I think the basic assumption is that people tend to send transactions of $1 $10 $20 $50 $100 $500 $1k $2k or $10k, so the USD amount stays the same but depending on current valuation people need to send different amounts of BTC to transfer the equivalent of $100 or $10k etc.. If you can determine which transactions are like $500 worth probably, you can deduce the price.
Still kinda magic to me - but really cool

That makes sense, but it can only work within 1 order or magnitude, unless you have an external oracle. In other words, what looks like $10 could be $1 or $100 depending on the actual dollar price that was paid for that transaction - which we don't know, since it is exactly what we're trying to estimate.
I thought that it just assumes that most transactions are $100 (peak of the stencil) but they mention this in the sauce which seems to side with what you said above:
# Historical testing of the Oracle shows prices that are accurate within the variance
# seen by different bitcoin exchanges themselves. The date and price ranges expected to work
# for this version (version 8) are from 2023-12-15 to present and from $5k to $500k.
# The previous version of the code (version 7) worked flawlessly from 2020 to 2024 before
# ordinal related transactions dramatically changed the character of on-chain output patterns.