You will get the same correct result. Why? -- because when you cd to $2 - meaning that your current working directory is "$2" - Then there is a directory named "." That is how $2 is represented when are "inside" the directory.
If that offends you simply subtract 1 from the result.
What do you mean by 9 22 and 0 22.
considering $2 is a directory name. As per your previous text you were worried about count being 1+ than total number of directories inside given dir. see example below.
$ find tmp/ -type d
tmp/
tmp/HL_new
tmp/pdfcrack-0.11
tmp/perl
tmp/perl/maya
tmp/perl/test
$ find tmp/ -type d | wc -l
6
$ find tmp/* -type d
tmp/HL_new
tmp/pdfcrack-0.11
tmp/perl
tmp/perl/maya
tmp/perl/test
$ find tmp/* -type d | wc -l
5
May be something else can be done if u paste ur sample dir structure/output.