Just for the record. Further tests I have done:

--- init.el ---
(require 'benchmark)
(require 'package)
(setq custom-file (locate-user-emacs-file "custom.el"))

(when (not package-archive-contents)
  (package-refresh-contents))
(message "Loading org from elpa took %f s"
         (benchmark-elapse
           (setq-default package-install-upgrade-built-in t)
           (use-package org
             :ensure t
             :pin gnu)
  (message "org-version: %s" org-version)))
---

M-x org-version yields 9.6.15 (expected was 9.7.3)

Best, /PA

On Thu, 6 Jun 2024 at 17:19, Eli Zaretskii <eliz@gnu.org> wrote:
> From: Pedro Andres Aranda Gutierrez <paaguti@gmail.com>
> Date: Thu, 6 Jun 2024 17:07:02 +0200
> Cc: Philip Kaludercic <philipk@posteo.net>, acorallo@gnu.org, 71356@debbugs.gnu.org
>
>  > IIUC the feature would be that if a use-package form has a
>  >
>  >      :pin gnu
>  >
>  > argument, then this is an indication that we want to install the package
>  > from GNU ELPA, disregarding the fact that Emacs already has a built-in
>  > version of the same package.  Sort of a package-local version of
>  > `package-install-upgrade-built-in'.
>
>  I'm not sure.  People tend to copy/paste recipes from the Internet
>  without really understanding what they do.  I think a simple :pin
>  should not be sufficient, we need some specialized keyword (in
>  addition to supporting package-install-upgrade-built-in).
>
> I didn't arrive at trying :pin gnu from anything in the Internet, but from
> reading the use-package documentation (just this time ;-) )
>
>  > I am not familiar with the use-package code, but it seems like we could
>  > implement this generally in package-install, by checking
>  > `package-pinned-packages'.
>
>  I would prefer not to introduce another indication of whether built-in
>  packages should or should not be upgraded.  If we do, we will next
>  need to decide which one "wins" when they contradict each other.
>

> My feeling is that if I set package-install-upgrade-built-in to t and pin
> a package to (say) gnu elpa, that should be enough.

I agree.  I was responding to the suggestion that just :pin should be
enough.  That use-package currently ignores
package-install-upgrade-built-in is a bug we should surely fix.


--
Fragen sind nicht da, um beantwortet zu werden,
Fragen sind da um gestellt zu werden
Georg Kreisler

Headaches with a Juju log:
unit-basic-16: 09:17:36 WARNING juju.worker.uniter.operation we should run a leader-deposed hook here, but we can't yet