The trueDualPortRAM component (https://hackage.haskell.org/package/clash-prelude-1.6.3/docs/Clash-Explicit-BlockRam.html#v:trueDualPortBlockRam) has no API to set the initial contents like blockRam (https://hackage.haskell.org/package/clash-prelude-1.6.3/docs/Clash-Explicit-BlockRam.html#v:blockRam).
As far as I know there is no technical reason to not be able to define the initial contents and the added value of this functionality seems very significant to me.