No, iOS 18 doesn’t fix it. I just started having this issue after replacing my Apple Watch series 3 with a series 10 — which required me to upgrade my iPhone from iOS 17 to 18 to pair them. I’ve only ever used my watch to ask for alarms, not my phone, so in my case I imagine the older WatchOS 8 may have kept me from seeing this issue under iOS 17.
I actually still can get an alarm when it’s more than 1 hour away. I just tested, asking to set an alarm for 59 minutes or one hour sets a timer, whereas one hour and one minute sets an alarm.
I suggest you ignore anyone forgiving Siri’s current behavior here. You ask for an alarm, you should get an alarm. When you tap the Alarms app, you wouldn’t accept it if the Timers app launched instead. They are distinct functions that should each be accessible with a single command. I appreciate the workaround suggested here by IdrisSeabright; however, I will still be annoyed every time by the paid downgrade and the extra hassle.
As Lawrence suggested, I’m going to send Apple feedback, and I hope you did, or will, too.