What are the concequences of the unit type and the unit value being the same? What are the practical and theoretical implications of the unit type and the unit value being the same or different entities?

For example, in Haskell the unit type and unit value are both spelled (). In ML, the unit type is spelled unit and it's value is ().

Are there any problems that arise from either option? Are there any significant benefits perhaps to the soundness of the type-system or the ability to reason about programs?
You have been confused by Haskell's notation. The unit type and unit value are of course different, and it just happens that Haskell uses the same notation for both.

As for the consequences: there are none. Notation is irrelevant here. You can call the unit type Dog or BauwnNuYwvb (i.e., nonsense), and it won't change the type system.