Sitemap not containing all pages

First off, WordPress itself is pretty good about SEO and structure right out of the box, there are countless WordPress websites that rank in the top 10 if not at number one for a given search. There is nothing at all in your OP that would lead me to believe WordPress is the problem.

Second I think you are confused about what a sitemap is. From your OP and comments, it sounds like you are actually talking about what pages are indexed via some search engine(s).

What is a sitemap?

Sitemaps are an easy way for webmasters to inform search engines about
pages on their sites that are available for crawling. In its simplest
form, a Sitemap is an XML file that lists URLs for a site along with
additional metadata about each URL (when it was last updated, how
often it usually changes, and how important it is, relative to other
URLs in the site) so that search engines can more intelligently crawl
the site.

from sitemaps.org

Sitemaps are very helpful in getting a site and it’s content indexed, but you have to implement the sitemap within your website and follow the steps to submit it to Google or other search engines. In the case of Google, you need to use Google Search Console.

List indexed pages.

To list all of the pages that a search engine has indexed for a given website, go to that search engine and enter the below replacing the example.com with the domain name you’re searching for. I know that bing and Google support this, but all search engines may not.

site:example.com

Troubleshoot crawl and indexing errors.

To determine why a given page or pages have not been indexed you’ll need to use Google’s Search Console or the individual search engines tool to determine what pages have been scanned and what technical errors may have occurred that are preventing them from being indexed. Keep in mind that these results are typically technical results and errors such as a 404 encountered during the scan.

Content and SEO.

Even if a search engine has scanned your entire website and encountered no technical errors at all, that doesn’t mean that your pages will be indexed by the search engine.

Google and others use a variety of rules to determine if the content of the pages are meaningful and worthy of being indexed. So a perfectly served up page with limited content, poorly structured content, or content that Google doesn’t see as relevant still won’t be added to the index.

Troubleshoot your website.

Review your access logs, error logs, .htaccess file, and PHP logs. These will often indicate that you have a problem with your PHP, Apache, or .htaccess configuration.

Rewrite Rules

You mention rewrite rules in your OP and I can tell you from my experience that they can be very tricky and problematic. I’ve seen rules that appear to work perfectly except when they don’t, so double check your rules and verify that you’re getting the behavior you want.