You have already seen that this is a floating point quirk. Should it be happening, technically no, but there will always be strange "rounding issues" due to floating point calculations.
If you put the first calculation into a column (1104/2016)*42, change the width of the column to be 30 (arbitrarily large), format to Fixed Decimal with 20 decimal places you will see that the number is stored as: 23.00000000000000355271.
23/(2×3×7) is a repeating fraction in base 10 AND base 2 (hex, base 16, shown with 4 bits per hex digit):
0.5476190476190476190476190... or 3FE186186186186... (lucky 12-bit repeat for visualization!)
Both of those are truncated, and imprecise. The actual value for the hex base 2 representation is rounded to 3FE1861861861862, which is slightly high (3FE is the exponent). Multiply by 42, after the divide, is also slightly high.
(42×1104)/2016 is ((2×3×7)×(2×2×2×2×3×23)) / (2×2×2×2×2×3×3×7)
Multiply by 42, ahead of the divide, gets nice reduction of the prime divisors.