In my first report, I reported "IPv6 Address is set but not reachable", but found a condition to obtain global reachability.
(I checked the global response in pfSense's "Diagnostics > Ping".)
My ISP has a limit on the number of PPPoE sessions available. My ISP won't allow me to open a new PPPoE session until it knows the previous one has been closed. Also, if I disconnect a PPPoE session without manually closing it, my ISP takes about 5 minutes to recognize that the PPPoE session has been closed.
These specifications make the following difference:
(a) If I reboot pfSense with manually closing the PPPoE session, pppoe0 links up and the IPv6 address is set before "Bootup complete".
(b) If I reboot pfSense without manually closing the PPPoE session, pppoe0 links up and the IPv6 address is set after "Bootup complete".
In case (a), the ping passed, but in case (b), the ping failed.
When I checked "Use if_pppoe kernel module for PPPoE client" to enable if_pppoe, this fell under case (b). As a result, the ping failed.
Here are some other facts I have confirmed:
[PPP log]
Each time a PPPoE session is established, the message "failed to set default route 17" may or may not be displayed.
The message is not displayed after bootup.
The message is displayed after executing the "ifconfig pppoe0 down/up" command.
The message is not displayed after clicking the "Disconnect/Connect" button in Interfaces Status.
Every time a PPPoE session is established, the message "failed to clear IP address: 49" is displayed.
[Interfaces Status]
The "Gateway IPv6" item is not always displayed. It is not blank. The item itself does not exist.
The "Gateway IPv6" undisplayed issue is unrelated to the message "failed to set default route 17" displayed/undisplayed issue.
The "Gateway IPv6" undisplayed issue is unrelated to Ping pass/fail. In case (a), Ping passes.
[DHCP log]
Basically, the message "add an address [IPv6 Address]/64 on em1" is displayed each time a PPPoE session is established.
The message is displayed before or after "Bootup complete" and the IPv6 address is set.
The message is displayed after executing the "ifconfig pppoe0 down/up" command and the IPv6 address is set.
However, after clicking the "Disconnect/Connect" button in Interfaces Status, "Sending Solicit" is displayed repeatedly, no message is displayed, and the IPv6 address is not set. After that, even after executing the "ifconfig pppoe0 down/up" command, "Sending Solicit" is displayed repeatedly, no message is displayed, and the IPv6 address is not set. If I reboot again, the message is displayed and the IPv6 address is set.
[Ping]
In case (a), the ping passes regardless of whether the "failed to set default route 17" message is displayed or not.
In case (a), the ping passes regardless of the dpinger Status (Running/Stopped).
In case (a), the ping passes regardless of the Gateways Status (Online/Pending).
In case (a), the ping passes even after executing the "ifconfig pppoe0 down/up" command.
[Gateways/dpinger]
When dpinger Status is Stopped, nothing is displayed in the Gateways Log.
If I set Gateway's IPv6 Link Local to "Monitor IP", the dpinger Status is displayed as Running. Then, "send_interval" and so on is displayed in the Gateways Log.
The dpinger status (Running/Stopped) is unrelated to Ping pass/fail. Ping pass/fail is determined by case (a)/case (b).
The Gateways Status (Online/Pending) is unrelated to Ping pass/fail. Ping pass/fail is determined by case (a)/case (b).
Based on the facts presented, I assume that the issue of "Gateway IPv6" not being set and the issue of ping failure are independent issues.