My LibreOffice Calc v6.0.7.3 can do this via the UI, so it should be possible.
I’m porting my investment tracking spreadsheet from Excel to Calc and it depends on having scoped named ranges. I can do this:
' Named ranges
Dim named as Object
Dim baseAddr as new com.sun.star.table.CellAddress
named = ThisComponent.NamedRanges
baseAddr.sheet = 0 ' TODO: Make this new_sheet's index
baseAddr.column = 10
baseAddr.row = 0
named.addNewByName("Cur_Price", "$K$1", baseAddr, 0)
What I need though is to use AddNewByScopeName. Changing the function call name throws a method not found error. Googling turns up nothing useful.