Regardless of the need to use the ASD from API 30 onwards, the main advantage of the ASD is that no READ_ / WRITE permissions are required. In this respect, as I said, it is a major disadvantage if these permissions are requested.
It is clear to me that for API < 29 with your method the root dir of the external storage is returned, but that is precisely the problem. Therefore, this method does not work for all Android versions. I would also like to know what is so problematic about the word "No", if it applies.
Btw, as you should know, I am very positive towards everyone - and especially you: Appreciation for @TIMAI2
But if something is not helpful or wrong, then I reserve the right to state it clearly, without further ado.