typeof Object(1n) === "object" because that's what the
Object constructor does: it creates an object. It's the same for other primitives, e.g.
typeof Object(1) or
typeof Object("foo") or
typeof Object(true) are all
"object".
And of course, typeof 1n === "bigint" because what else would it be?
There's nothing specific about BigInt in any of these examples, it's exactly the same for Numbers and Strings and other primitives. And AFAICT there's no inconsistency either, this is just how JavaScript works.
1.__proto__ is a SyntaxError because 1. is a Number, and you can't just write __proto__ after a Number literal. Try 1..__proto__ or, equivalently, (1).__proto__ to make it work.