First, determine the reason why the packages are kept back.
There are two main possibilities: Phased Updates or Version Conflict
Phased updates are easy to spot and phasing can be easily skipped so you can release-upgrade:
$ sudo apt update
[...]
$ apt policy foo
[...]
Version table:
*** 1.1.1 500 (phasing=50%) <------------- This package is phasing
[...]
// One-time (not permanent) way to immediately install Phased Updates.
$ sudo apt -o APT::Get::Always-Include-Phased-Updates=true upgrade
Version conflicts look more like this: Multiple versions from multiple sources. Each version conflict must be solved or fixed before a release-upgrade is possible. Happily, they are usually not difficult.
$ sudo apt update
[...]
$ apt policy foo
foo:
Installed: 1.2
Candidate: 1.2
Version table:
*** 1.1 500
500 http://archive.ubuntu.com/ubuntu jammy/main amd64 Packages
1.2 500
500 http://someplace-else.org/ stable amd64 Packages <--- The Problem
100 /var/lib/dpkg/status
// Revert to the compatible Ubuntu package by specifying the version
$ sudo apt install foo=1.1
// Delete or disable the source that provides the conflicting package(s)
$ sudo apt edit-sources
// Since your sources just changed:
$ sudo apt update