Если я правильно вас понял, то да, вы всё сделали правильно :)
А как вы себе представляете "весь импорт в файле main.py"? Если вы просто сделаете import math в main, то math не будет "магически" доступен в mod1 и mod2. Если вы собирались сделать import math в main а потом from main import math в mod1 и mod2, то так делать, конечно же, не нужно.
Я думал что возможно надо делать так "Если вы просто сделаете import math в main, то math не будет "магически" доступен в mod1 и mod2.". Просто я прочитал что при подключении модуля, его код выполняется. И если я правильно понял то модули тоже каждый раз подключаются.
А если это так то модуль math будет подключаться каждый раз. А если у меня будет 100 модулей с одинаковой библиотекой, то одна и та же библиотека будет подгружаться 100 раз?