Это связано с тем, что nbytes
возвращает размер сохраненных данных, а sys.getsizeof
возвращает размер всего объекта, то есть размер сохраненных данных плюс некоторые накладные расходы. Для массивов numpy существует небольшая накладная плата, поскольку они должны хранить размеры массива, тип данных и аналогичную информацию.