Rerouting Arduino's USB Connector to other Pins for a different purpose ?

To do what you want without a MEGA is possible with SoftwareSerial, but it won’t be anything like USB, unless you add another chip/shield.

USB is not ‘serial’ as you know it, USB is a semi-intelligen, negotiated, and enumerated interface to carry other protocols.

Once the USB ‘channel is in place, a ‘serial’ channel (or x many other types) can be implemented ‘over’ the USB.
In your case a keyboard often uses what’s called an *HID interface over a USB channel#.

None of these are ‘serial’ in the sense of a PS2 keyboard or RS232 commection. For the Arduino to handle these communications they use an FTDI or other chip to perform the protocol conversion.
This is exactly what the chip attached to pins 0/1 does.

If you want a USB host, you need a different type of USB interface that understands and negotiates this host side of the USB link.

#USB can carry multiple simultaneous channels - serial, video, HID, audio, etc
*Human Interface Device