This is a "normal" behavior that you can also see with physical router. If multiple routes to the same destination are received, they only place the one with the highest priority in their routing table.
On a high level this is due to the decoupling of routing information base (rib) and forwarding information base (fib). The rib takes care of the path selection, e.g. calculates the best path for each known destination (based on different rules and algorithms) and places only this one in the fib, so if there is a packet received that needs to be forwarded the router only needs to look up the next hop in the fib and forwards the packet without the need to calculate the best path every time.
I guess it's just the same for TGW route table, I hope someone here can confirm that :-)
Direct Connect + VPN + TGW with DX/VPN failoverAccepted Answerasked 2 years ago
Direct Connect Gateway with 2 TGW from Same RegionAccepted Answer
Manage overlapping subnet (different VPC) on same TGWAccepted Answerasked 10 days ago
Hub & Spoke architecture with AWS Control TowerAccepted Answer
AWS Transit Gateway isolated routing with Shared ServicesAccepted Answerasked 2 years ago
TGW Route Table entriesAccepted Answerasked 2 years ago
Multicast support with a VPC and Transit Gateway (TGW)Accepted Answerasked 2 years ago
Summarize Transit Gateway Prefixes across Multiple TGWAccepted Answerasked 2 years ago
Subnets associated with a route table show as not associated with any RTasked 4 years ago
AWS Transit Gateway Site-to-Site VPN Dynamic routes limit of 100. Is it per Connection or Aggregate?Accepted AnswerEXPERTasked 2 years ago