My question is, if I have a Cisco switch with a particular port kept in default VLAN 1 and the native VLAN of the trunk port is changed to 2. When a frame arrives at the trunk port from that port it will be an untagged frame, right? If yes, then the trunk port will tag this untagged frame with its own native VLAN (VLAN 2) before sending it over to other end of trunk, right?
VLAN tags are placed on frames leaving a trunk port except for frames in the native VLAN for that port.
Access ports, despite being a port for a particular VLAN, do not tag frames, and, depending on the switch, a received tagged frame may be dropped on an access port.
A frame coming into an access port will not have a tag. It will be tagged as it leaves the switch on a trunk port (assuming it is not in the native VLAN for that port), but it will not be tagged if it leaves the switch on another access port.
The native VLAN on a trunk means that:
A) Any untagged frame arriving on the trunk will be treated as being in the native VLAN (regardless of what VLAN it was in on the sending switch).
B) Frames on the native VLAN will cross the trunk untagged.
In your example a frame arriving on the default VLAN (VLAN 1) will be forwarded out the trunk port on VLAN 1. Since VLAN 2 is the native VLAN that means the frame on VLAN 1 will be tagged.
The only way a layer-2 switch will ever move a frame from one VLAN to another is if something is misconfigured. You could misconfigure it intentionally but in my opinion it would still be wrong.
The switch receives it and since there is no tagging will threat it as if it was on VLAN 2 (in your example). So if it receives a broadcast on this port, it will forward it out of all ports configured with VLAN 2 (still untagged doh).