Look at the many RFM69 library examples. There is no ACK for an ACK.
Actually an ACK is just a regular (empty payload by default) packet with a special bit=TRUE which tells the sender the sent message was received.
You typically just use sendWithRetry(...) which allows you to retry a message several times (overridable) to ensure it is delivered.
A listening node that sees the ACK request bit = TRUE, will have to respond with an ACK packet.
If the link is good a single exchange will ensure the packet is delivered and ACK is returned to sender.
The end node can always send it's own packet and request an ACK from the main node, there is no constraint on who can send or request ACKs.