But that isn't the USD value when the transaction was made. That's the current USD value. Those USD values reflect the real-time USD price of Bitcoin. So, they also change accordingly. OP was asking a way to know a Bitcoin transaction's USD value during the time when the transaction took place.
Because it is latest blocks so values are for recent prices on the market.
If you look at this
Block 1, Bitcoin has no value in $ so the value of 50
BTC is $0.
Look at block 400,000
https://www.blockchain.com/explorer/blocks/btc/400000A total of 26,270.68 BTC ($11,079,920) were sent in the block with the average transaction being 15.8257 BTC ($6,674.65). BW.COM earned a total reward of 25.00 BTC $10,544.00. The reward consisted of a base reward of 25.00 BTC $10,544.00 with an additional 0.3335 BTC ($140.66) reward paid as fees of the 1,660 transactions which were included in the block.
Simple math: 26,2470.68
BTC = $11,079,920
1
BTC = $421.76. It is not today price for Bitcoin.