But moving it to another filegroup, there are always the same benefits or the rule only applies to the same filegroup.
So, applying the syntax that I have reported, is it correct then act on clustered and then to the non-clustered ones, since I will not physically delete them before recreating them?
When you rebuild the clustered index with DROP_EXISTING=ON
and the key definition is the same, the non-clustered indexes are not touched because the row locator (clustered index key plus uniqueifier when needed) does not change. The behavior is the same with or without a different filegroup.