Dev here.
Everything which is possible with the addon API is allowed.
The addon API is not a magical hack. This are functions which are provided by blizzard. Things you are not allowed to use cant be used. There are functions for casting spells for example but you get an error trying to call these.
Blizzard provides the functions. They know exactly what is possible with them. They restrict what should not be possible with them.
If at some point the clever combination of API functions creates an addon which blizz judge to be to powerfull they simply break the core interactions. Happened in the past.
What is cosindered to be to powerfull is another topic. As long as is it works now, its allowed. And if its not allowed your addon would receive an error message and wont work, thats it.
So no worries.
The grey zone are addons which are clerverly designed to bring the function framework but not the data. Like rested exp guide. The addon is free, as the tos tells it to be. But the data on which the addon operates is selled, this is fishy. But this is a concern for the authors not for you as a user.
Edit: The instant buy you experience is another thing, namely bots. Using TSM is absolutly fine. You could exctract the core interaction into a macro with a run command and do the same. But combining this tool with a program which uses a character 24/7 and operates this tool 24/7 is against TOS. Remember addons cant automate hardeware inputs. Even with addons you still have to click a confirm dialog (which can be confirmed with a macro but you have to press the macro at least). Some bots are operating such addons which results in your eperience. And bots are againat TOS because they automate hardware input. And because most of them manipulate the games executable.
About the thing with browsing and buying different items at once. This only appears strange to you because you are used to the UI view of the auction house. Here you see only one category of items at once. Bismuth ore for example. And you need to click the item you want and buy it.
From the codes perspective there is a simple buy function. It wants the item id and how many you want. You can call this function back to back with different item ids. The need for “inspecting an item before you buy it” is simply a UI thing.
Btw the default ui is using the same API. Thats why some functions are restricted. Addons seem to can do more because they provide a ui with extra buttons. Its not like things are impossible if the default ui does not provide them. The default ui just covers the stuff that blizz thinks is the right amount of features. Everything else comes with addons, thats the whole point of the addon API. Giving the community the ability to customize their experience withing the rules of the APIs framework. I am sure 99% of the players are satisfied with the default AH. And i am sure most of the playerbase doesnt even know about addons, the forum or wowhead.