I think there is a OL parser which parses top level RTL and prepares a lot of files for the flow, before starting synthesis. I can't recall the case, but there have been other issues with it here on slack as well. I think that parser requires vectors downto 0.
It would be worth a suggestion to OL to generate these files based on the synthesis result, because a netlist is easier to parse than an RTL file. But it would also mean some restructuring, I guess.
Also for instance, when IOs are removed by synthesis (e.g. user_clock) then the files generated by the RTL parser don't match the synthesis result (netlist) anymore. Once you know it, then you can live with it, but if you are a newbe like myself its painful.