Operator + is not overloaded and comes from the base class str so it returns an instance of type str. This behaviour isn't obvious at all:
>>> type(plumbum.local.path(".") + "/subdir")
<class 'str'>
>>> type(plumbum.local.path(".") / "subdir")
<class 'plumbum.path.local.LocalPath'>