документация предполагает, что они точно такие же, как в C#:
'out' со стороны вызывающей стороны: вы можете передать неинициализированную переменную в метод, и вы можете ожидать, что она будет инициализирована после возврата метода
'out' со стороны вызываемого: параметр считается неинициализированным, и вы должны его инициализировать
'ref' со стороны вызывающей стороны: переменная, которую вы передаете методу, должна быть инициализирована, и она может быть изменена или нет методом
'ref' со стороны вызываемого объекта: параметр считается инициализированным, и вы можете изменить его или нет.