SpringBoot em desenvolvimento ok, ao gerar war, Not Found

Olá pessoal.
Estou desenvolvendo um sistema em meu trabalho com Spring Boot 3.0.5 e banco de dados MySql 8.0.31.
Em fase de desenvolvimento funciona tudo certinho (cadastro, requisições, alterações e deleção).
Gerei o arquivo .war (com o comando ‘mvn clean package’) para inserir na hospedagem. Baixei o Tomcat em minha máquina local, inseri meu arquivo war na pasta webapps e executei o arquivo ‘startup.bat’ (inicia o Tomcat), ele sobe a aplicação corretamente sem erros aparentes no arquivo de log. No Insomnia ou diretamente no browser, ao digitar: ‘localhost:8080’ retorna a página inicial do Tomcat.
Ao inserir localhost:8080/cafebeneficiado (meu endpoint no caso) ou localhost:8080/MinasCafe/cafebeneficiado (porque gerou o contexto ‘MinasCafe’ ao gerar o .war) retorna: 'HTTP Status 404 - Not Found.
Detalhes, de acordo com a documentação: https://www.baeldung.com/spring-boot-war-tomcat-deploy

inseri no pom.xml

<packaging>war</packaging>

para empacotar em formato ‘war’ (formato de arquivo para implantação) e a dependencia:

<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
            <scope>provided</scope>
        </dependency>

que executa o Tomcat integrado somente em tempo de desenvolvimento, a partir do empacotamento fica dependendo de um servidor externo. Inseri também na classe main a extensão:

public class MinasCafeApplication extends SpringBootServletInitializer { …

( define como essa classe vai funcionar com um servidor externo a ele).

Alguém consegue me dar uma luz?

Meu pom.xml:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>3.0.5</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    
    <groupId>org.example</groupId>
    <artifactId>MinasCafe</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>war</packaging>
    <name>MinasCafe</name>
    <description>Demo project for Spring Boot</description>
    <properties>
        <java.version>17</java.version>
    </properties>
    <dependencies>

        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.33</version>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-validation</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
            <scope>runtime</scope>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

</project>

Meu application.properties:

#Configurações do JPA
spring.datasource.url=jdbc:mysql://localhost:3306/minas_cafe?createDatabaseIfNotExist=true

spring.datasource.username=root
#spring.datasource.password=Minas37331117
spring.datasource.password=359423

#Configurações do JPA
spring.jpa.hibernate.ddl-auto=update
spring.jpa.generate-ddl=true

#Porta de trabalho do Tomcat
server.port=8080

#Exibe os comandos SQL no console do IDE
spring.jpa.show-sql=true

#Quebra as linhas da consulta SQL no console para melhor visualização
spring.jpa.properties.hibernate.format_sql=true

#Especifica qual o banco de dados voce usará
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQLDialect

#spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

#Enable spring data repos
spring.data.jpa.repositories.enable=true
spring.jpa.database=mysql

#Habilitando o arquivo de log
logging.file.name=logs/minas_cafe.log
logging.level.root=info

Meu controller:

@Autowired
    private CafeBeneficiadoRepository cafeBeneficiadoRepository; // Injetando o Repository como sendo um atributo

    @PostMapping
    @Transactional
    public ResponseEntity<String> cadastrar(@RequestBody @Valid DadosCadastroCafeBeneficiado cb) {
        cafeBeneficiadoRepository.save(new CafeBeneficiado(cb));

        System.out.println("Lote de café beneficiado salvo no banco com sucesso!");

        String responseMessage = "Lote de Café Beneficiado cadastrado com sucesso!";
        return ResponseEntity.ok(responseMessage);
    }

    @GetMapping // Listagem de Café Beneficiado
    public ResponseEntity<List<CafeBeneficiado>> listar() {
        List<CafeBeneficiado> caf = cafeBeneficiadoRepository.findAll();
        return ResponseEntity.ok().body(caf);
    }

    @GetMapping("/baixado") // listagem de Café Beneficiado deletado (inativo)
    public Page<DadosListagemCafeBeneficiado> Baixa(Pageable paginacao) {
        return cafeBeneficiadoRepository.findAllByAtivoFalse(paginacao).map(DadosListagemCafeBeneficiado::new);
    }

    @GetMapping("/{lote}") // listagem de lotes de Café Beneficiado "ativos"
    public ResponseEntity<List<CafeBeneficiado>> encontrar(@PathVariable int lote) {// No PathVariable o parâmetro é
                                                                                    // passado diretamente no corpo da
                                                                                    // requisição e esse valor faz parte
                                                                                    // do corpo da requisição
        List<CafeBeneficiado> ben = cafeBeneficiadoRepository.findByLoteAndAtivoTrue(lote);
        return ResponseEntity.ok().body(ben);
    }

    @GetMapping("/produtor/{produtor}")
    public ResponseEntity<List<CafeBeneficiado>> busca_produtor(@PathVariable String produtor) {
        List<CafeBeneficiado> caf = cafeBeneficiadoRepository.findByProdutor(produtor);
        return ResponseEntity.ok().body(caf);
    }

    @PutMapping
    @Transactional
    public void atualizar(@RequestBody @Valid DadosAtualizacaoCafeBeneficiado db) {
        var beneficiado = cafeBeneficiadoRepository.getReferenceById(db.lote());
        beneficiado.atualizarInformacoes(db);
    }
}

O que pode haver de errado?