With Samsung phones the default speech to text is Bixby isn't it. So what are you actually using, Google Assistant, or something else?
It can depend on the keyboard. For the sheer hell of it I just enabled it on a couple of my keyboards to see what happened:
* SwiftKey: told me I would need to install Google Voice Search for it to work. Since I have the Google app disabled through choice and was not prepared to undo that the experiment ended there.
* OpenBoard: did nothing. I assume this means that it uses the system default voice input, which for me is disabled.
* GBoard: there's obviously a connection to Google's service built directly into that app, because this worked even though the Google app is not available on my phone (it was definitely server-based, as it required an internet connection to function). So my guess is that if you use GBoard you use Google for this regardless of what the system default text to speech engine on your phone is.
GBoard would not type "7 o'clock" for me, but it also wouldn't write "o'clock" full stop: the closest it came was "oclock", but it also left out the "o", or printed something like "on clock", or ignored it altogether. It just seems to be a blind spot in Google's transcription. Since "o'clock" is perfectly well understood Stateside this can't just be an example of Google's parochialism, but I can't think of a good reason why they can't handle it, all I can say is that it seems to be a limitation of Google's system.
So maybe the workaround is to try enabling another text-to-speech system on your phone and see whether that works better?