I don’t think it is possible to a create an element like
<input type="hidden | number" />
Solution is to create a custom element like this
<hidden-num value="0"></hidden-num>
MDN – Using Custom ELements (https://developer.mozilla.org/en-US/docs/Web/Web_Components/Using_custom_elements)
class InputHiddenNum extends HTMLElement {
    constructor() {
        super();
    }
    connectedCallback() {
        this.style.display = "none";
    }
    get value() {
        return this.intern_value;
    }
    set value(v) {
        this.intern_value = typeof v !== "number" ? parseFloat(v) : v;
        this.setAttribute("value", this.intern_value.toString());
    }
}
customElements.define("hidden-num", InputHiddenNum);
To add a property of value to our <hidden-num> element, we must add the get value() and set value(val) methods.
An attribute of value is also added to element if the value property is changed. A number value is returned if the elem.value is accessed.
Custom element is registered with
customElements.define(“hidden-num”, InputHiddenNum);
Built in element can also be extended like
<input is=”hidden-num” />
Refer – MDN – Customized built-in Elements (https://developer.mozilla.org/en-US/docs/Web/Web_Components/Using_custom_elements#Customized_built-in_elements)