The problem is that Professional/Semi-Professional labels simply do not officially exist for teams in Germany, it's more for leagues. The 3. Liga def. is a professional league, requiring all players to be under full time contracts. Source from the introduction of the league, page 3. The document also outlines some other requirements for the clubs joining the league.
Regarding the 4th divisions: Afaik there is no consensous about if the 4th divisions are to be considered professional or not and there have been legal issues about that in the past. Example