StorageBusCache suffers the same stupid design limitation as S2D: The drives must be connected directly. If the underlying storage layer does not expose the disktype or allows to set the disktype, for example when you try it with .VHDX, or with most RAID controllers etc, it won't work.
It checks the disk type directly when going through the steps to create and S2D/StorageBusCache setup, and clears the "SSD" flag you may have just set with set-physicaldisk.
In result: It has the same "way too narrow and specific" constellation requirements as S2D with tiering due to bad design decisions during implementation, therefore limiting broad usage.
See my whining here in extreme detail: https://github.com/MicrosoftDocs/windowsserverdocs/issues/5769