Decision Trees - how does split for categorical features happen?
You are right on all counts:


  
  If DT splits a node with the above algorithm and treat those 10 values are true numeric values, will it not lead to wrong/misinterpreted splits? 
  


Yes absolutely, for exactly the reason you mention below:


  
  Should it rather perform the split based on == and != for this variable? But then, how will the algorithm know that it is a categorical feature?
  


Yes, as you correctly assume a (true) categorical variable should be compared only for equality, not order.

In general the algorithm cannot guess the nature of the feature, there has to be some parameters in the implementation which provide it with this information. Some implementations allow this, for example with Weka the features are typed with either a "numeric" or "nominal" (categorical) type. 


  
  Also, will one-hot encoded values make more sense in this case?
  


Correct again, that's what should be done for a categorical feature in case the implementation treats all the features as numeric values.