For RSTP, won't all the links move to forwarding state immediately since they are all p2p links?
No. A (non-edge) RSTP port will only be "rapid" if negotiation (a.k.a. Proposal & Agreement) is happening between the bridges. [*]
If there are no (R)STP hellos incoming, there cannot be a Proposal & Agreement phase, a the port will go through 30sec of LRN phase, mimicking STP behaviour.
See https://www.cisco.com/c/en/us/support/docs/lan-switching/spanning-tree-protocol/24062-146.html#anc17
If a designated discarding port does not receive an agreement after it
sends a proposal, it slowly transitions to the forwarding state, and
falls back to the traditional 802.1D listening-learning sequence. This
can occur if the remote bridge does not understand RSTP BPDUs, or if
the port of the remote bridge is blocking.
[*] this is also why - even with a variety of RSTP - setting port type edge [trunk]
or spanning-tree portfast [trunk]
(syntax may vary by vendor) is still very much needed for end system ports (hosts, routers, firewalls...). Without that setting, these would remain non-edge ports, and if they don't receive BPDUs with the Proposal/Agreement flags, they mimick STP behaviour and stay blocked for 30seconds.