Thanks for reaching out.
By default the page load transactions are called unknown, this is mainly due to not having a good default for these kind of transactions (using the page url is not suitable for all use-cases, for example if it contains an ID).
But there's a way to fix this. You can use our
apm.setInitialPageLoadName(name) API to set the correct name.
By default XHRs that happen during an active transaction are captured, however, after the page load you need to start and end transactions manually in order to capture XHRs. You can find more information on Custom Transaction guide.
As you mentioned one way to improve this would be to capture all XHRs automatically as a new transaction. Although this might be useful in certain use-cases, we need to be mindful of the amount of data generated by the agent. Please feel free to make a comment in that issue about your use-case.