For in и одинаковые имена свойств?
У o есть свои свойства a и b. А c и d берутся из установленного прототипа.
Если верить консоли, For in не виноват, это setPrototypeOf не захотел дублировать имена, так уж он устроен, наверное, чтоб For in потом не мучился, и перебирал только уникальные ключи