Я увидела две проблемы, которые переплелись и привели к такому результату. Во-первых на улице собака доминирует над вам. Возможно дома этого и не наблюдается, но на улице мальчик чувствует свою ответственность за вас и старается защищать. А так как он мал и слаб физически, то старается это компенсировать повышенной агрессией и громким лаем "Кого не съем, того понадкусаю!"
Во-вторых ваша ошибка: "Старалась познакомить его с собачками, держала чтобы понюхал, у него на несколько секунд появляется интерес и тут же пропадает, начинает кидаться, кусаться." Знаете как выглядит такое со стороны собаки? "Мама прикрывается мной, она боится этой собачки, буду её защищать!"
Поэтому что нужно с вашей стороны: скооперироваться с кем-то из собачников, все равно знает эту собаку ваш малыш или нет. Договоритесь погулять вместе и когда ваш мальчик начнет опять себя неподобающе вести, возьмите его за горло и подержите в сугробе кверху пузом, приговаривая - нельзя, фу, при этом смотрите собаке в глаза. Сами, первой, начинайте общаться с чужой собакой, всем видом показывая, что вы её не боитесь. Можно даже привязать мелкого к дереву или колышку, что бы он дотянуться не мог, и не мог достать до собаки, но был при этом ЗА вами, когда вы будете общаться с чужой собакой. В третьих, будете гулять в обществе чужой собаки, старайтесь что бы ваш мальчиш был не между вами и той собакой, а с другой стороны, как бы отгороженный вами. Таким образом вы покажете, что именно вы первая на прогулке и, если что, именно вы должны оценивать есть ли угроза со стороны других собак, а не ваш любимец.
Так же, если вы этого не делаете, обязательно гуляйте какое-то время со своим питомцем только на коротком поводке, что бы собака не выбегала вперед вас и вы задавали темп прогулкам, вы вожак и это должны делать вы, то есть выбирать путь и темп прогулки.