pre-Ryzen AMD CPUs did not have SMT, but they had "CMT" or "clustered multithreading" which is the shared-FPU stuff, hw.smt=0 disables that too on these CPUs. I believe this was intentional as this kind of resource sharing between cores comes with inherent risk-- FPU state can contain things like AES key data used by AESNI instructions, etc.
-Bryan.