Это не вопрос глубокой копии или мелкой копии, ни одно из того, что вы делаете, - это глубокая копия.
Здесь:
>>> new = original
вы создаете новую ссылку на список / dict, на которые ссылается оригинал.
, а здесь:
>>> new = original.copy()
>>> # or
>>> new = list(original) # dict(original)
вы создаете новый список / dict, который заполнен копией ссылок объекты, содержащиеся в исходном контейнере.