You are not right, unfortunately.
Your approach for the Thread entity extension breaks the class proxy chain. But even so it's only one of the issues. You don't have a class extension for the XF\Entity\User class so the code you have in there isn't doing anything.
The issues with the thread controller and the reply object are valid too. It may be possible to run into issues calling
setParam and other methods if the controller action doesn't return a view reply which may or may not happen by default but could happen if other add-ons are extending the same code.
We talk a bit about class extensions and extending controllers in the dev docs:
The following sections go into detail about some of the general systems and concepts you will come across while developing a XenForo add-on. If you are familiar with XenForo 1.x development, then a lot of these concepts will seem familiar to you, though it's worth reviewing them as there are...
xenforo.com
At a basic level, Controllers are the code that is executed when you visit a page within XF. Controllers are generally responsible for handling user input and passing that user input to the appropriate place which, generally, would be to perform some sort of database action (Model) or load...
xenforo.com
If you need further support, please create a thread in the XenForo development discussions forum.