Insert this line in your preamble (or anywhere else before the \newtheorem statement):
\renewcommand{\thesubsection}{\arabic{subsection}}
This will reset the numbering command of the thm environment to ignore the section numbers (when numbering theorems) and display only the subsection numbers and theorem numbers. Section numbers will still be displayed in front of section headings, just not the theorems included within the sections. So, just as you describe, the first theorem in the second subsection of the first section will be numbered 2.1.
Alternatives to \arabic include:
- \Roman - produces capital roman numbers, such as II.1
- \roman - produces lower-case roman numbers, such as ii.1
- \Alph - produces capital letters, such as B.1
- \alph - produces lower-case letters, such as b.1